问题标签 [ios8-today-widget]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios - 扩展程序初始化时间过长
我有一个 Today 小部件扩展,在该viewDidLoad:
方法中,我正在调用一个方法,unloadClipboard:
该方法包含一个被调用的位,它将用户的图像剪贴板转换为 NSData。理论上一切都应该正常工作,但是,小部件在此代码上崩溃,因为初始化需要很长时间——即使我在后台线程上运行它。
在一些断点、NSLogs 和对小部件目标进行时间分析之后,我得出的结论是,这行代码耗时过长。
以下是崩溃报告的示例:
异常类型:EXC_CRASH (SIGABRT) 异常子类型:LAUNCH_HANG 异常消息:扩展花费了太多时间来初始化
我还通过注释掉该块中的代码成功地隔离了该问题,其中小部件运行良好。任何帮助表示赞赏。
更新:这是更改的代码:
以下是日志:
12 月 1 日 18:41:57 Isa-Ranjhas-iPhone ReportCrash[7074]:为进程 CopyfeedWidget[7073] 制定崩溃报告 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone CopyfeedWidget[7073]:查看将在 12 月 18 日出现: 41:57 Isa-Ranjhas-iPhone SpringBoard[328]:插件 com.isaranjha.Copyfeed.CopyfeedWidget 于 12 月 1 日中断 18:41:57 Isa-Ranjhas-iPhone SpringBoard[328]:插件 com.isaranjha.Copyfeed.CopyfeedWidget 于 12 月 1 日失效18:41:57 Isa-Ranjhas-iPhone mediaserverd[22]:''(pid = 7073)设置 DiscoveryMode = DiscoveryMode_None,currentDiscoveryMode = DiscoveryMode_PresenceScan Dec 1 18:41:57 Isa-Ranjhas-iPhone assertiond[63]:pid_suspend 失败:未知错误:-1,未知错误:-1 Dec 1 18:41:57 Isa-Ranjhas-iPhone 断言 [63]:断言失败:12B436:断言 + 57724 [10EC04AD-D18F-3ECD-8A8E-FBB1CC4E2BD6]:0x3 Dec 1 18:41:57 Isa-Ranjhas-iPhone assertiond[63]:无法将优先级设置为 2,优先级:没有这样的过程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone assertiond[63]:不能将优先级设置为 4096,优先级:没有这样的过程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone SpringBoard[328]:标识符为“com.isaranjha.Copyfeed.CopyfeedWidget”的小部件意外断开连接 12 月 1 日 18:41:57 Isa -Ranjhas-iPhone pkd[5114]:将插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) 分配给插件沙箱 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114]:为插件启用 pid=328在 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) CAF48DC4-9AD3-4E4F-82F5-F77903676E1F /private/var/mobile/Containers/Bundle/Application/E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget .appex57 Isa-Ranjhas-iPhone assertiond[63]:无法将优先级设置为 2,优先级:没有此类进程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone assertiond[63]:无法将优先级设置为 4096,优先级:没有这样的过程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone SpringBoard[328]:标识符为“com.isaranjha.Copyfeed.CopyfeedWidget”的小部件意外断开 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114 ] :将插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) 分配给插件沙箱 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114] :为插件 com.isaranjha.Copyfeed 启用 pid=328。 CopyfeedWidget(1.0) CAF48DC4-9AD3-4E4F-82F5-F77903676E1F /private/var/mobile/Containers/Bundle/Application/E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget.appex57 Isa-Ranjhas-iPhone assertiond[63]:无法将优先级设置为 2,优先级:没有此类进程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone assertiond[63]:无法将优先级设置为 4096,优先级:没有这样的过程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone SpringBoard[328]:标识符为“com.isaranjha.Copyfeed.CopyfeedWidget”的小部件意外断开 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114 ] :将插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) 分配给插件沙箱 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114] :为插件 com.isaranjha.Copyfeed 启用 pid=328。 CopyfeedWidget(1.0) CAF48DC4-9AD3-4E4F-82F5-F77903676E1F /private/var/mobile/Containers/Bundle/Application/E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget.appex没有这样的过程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone assertiond[63] :无法将优先级设置为 4096,优先级:没有这样的过程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone SpringBoard[328] :带有标识符 'com.isaranjha.Copyfeed.CopyfeedWidget' 的小部件在 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114] 意外断开:将插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) 分配给插件沙箱 12 月 1 日18:41:57 Isa-Ranjhas-iPhone pkd[5114]:为插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) CAF48DC4-9AD3-4E4F-82F5-F77903676E1F /private/var/mobile/Containers 启用 pid=328 /Bundle/Application/E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget.appex没有这样的过程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone assertiond[63] :无法将优先级设置为 4096,优先级:没有这样的过程 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone SpringBoard[328] :带有标识符 'com.isaranjha.Copyfeed.CopyfeedWidget' 的小部件在 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114] 意外断开:将插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) 分配给插件沙箱 12 月 1 日18:41:57 Isa-Ranjhas-iPhone pkd[5114]:为插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) CAF48DC4-9AD3-4E4F-82F5-F77903676E1F /private/var/mobile/Containers 启用 pid=328 /Bundle/Application/E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget.appex57 Isa-Ranjhas-iPhone SpringBoard[328]:标识符为 'com.isaranjha.Copyfeed.CopyfeedWidget' 的小部件意外断开 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114]:分配插件 com.isaranjha。 Copyfeed.CopyfeedWidget(1.0) 到插件沙箱 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114] :为插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) CAF48DC4-9AD3-4E4F-启用 pid=328 82F5-F77903676E1F /private/var/mobile/Containers/Bundle/Application/E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget.appex57 Isa-Ranjhas-iPhone SpringBoard[328]:标识符为 'com.isaranjha.Copyfeed.CopyfeedWidget' 的小部件意外断开 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114]:分配插件 com.isaranjha。 Copyfeed.CopyfeedWidget(1.0) 到插件沙箱 12 月 1 日 18:41:57 Isa-Ranjhas-iPhone pkd[5114] :为插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) CAF48DC4-9AD3-4E4F-启用 pid=328 82F5-F77903676E1F /private/var/mobile/Containers/Bundle/Application/E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget.appex57 Isa-Ranjhas-iPhone pkd[5114]:为插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) 启用 pid=328 CAF48DC4-9AD3-4E4F-82F5-F77903676E1F /private/var/mobile/Containers/Bundle/Application /E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget.appex57 Isa-Ranjhas-iPhone pkd[5114]:为插件 com.isaranjha.Copyfeed.CopyfeedWidget(1.0) 启用 pid=328 CAF48DC4-9AD3-4E4F-82F5-F77903676E1F /private/var/mobile/Containers/Bundle/Application /E12BF21F-02A5-4E06-8D4C-CA2DEBCA3850/Copyfeed.app/PlugIns/CopyfeedWidget.appex
ios - coredata - 移动到应用组目标
我是 Today 扩展的新手并使用嵌入式框架。
我们的应用程序目前使用由 sqlite 支持的核心数据。如果我想在应用程序和今天的扩展程序之间共享它,我应该将它移动到一个框架以供两者共享吗?
如何迁移应用商店中的当前版本以升级到新结构?
ios - 发布没有今天扩展的应用程序?
我在我的项目中完成了今天的一半扩展。我不必向公众发布半成品,但也想保持相同的代码库,这样我就可以节省代码维护时间。
有谁知道在没有内置 Today 扩展的情况下发布应用程序的方法?
谢谢
ios - 带有参数的今日小部件 openurl
我的应用程序有一个今日小部件,它在用户点击今日小部件时打开包含的应用程序。
此代码按预期工作。但现在我想用这个作为参数发送一些数据。所以我可以在包含的app中打开对应的视图控制器使用这个参数。
我也在 Apple API 文档和 stackoverflow 中进行了搜索,但找不到合适的答案。
请给我发送数据到包含应用程序使用的建议openURL
。
ios - UIImageView 随机消失?
在我的小部件扩展中,我只有以下代码在小部件出现时被调用,在代码中没有任何地方,我是在调整 _imageView 的框架或隐藏属性。但是,每次执行此代码时,代码都可以正常工作并执行应有的操作,但是 _imageView 消失了。起初我以为 _imageView 正在以某种方式从视图中删除,所以我添加了一个日志来注销 _imageView 的框架,以进行检查。日志恢复正常。
然后我发现如果我通过通知中心滚动到不再显示小部件的位置,然后向后滚动,然后我可以再次看到我的小部件,imageView 又回来了,没问题。
为什么 _imageView 在执行此代码时“消失”?
ios - iOS 8 今日小部件快照
我正在开发一个今天的小部件,显示有关使用它的用户的一些个人信息。根据 Apple 文档(此处),系统会捕获今天小部件视图的快照。
为了帮助您的小部件保持最新状态,系统有时会捕获小部件视图的快照。当小部件再次可见时,将显示最近的快照,直到系统将其替换为视图的实时版本。
表单安全原因和数据完整性我被问到以下问题:
- 快照保存在哪里?
- 有没有人可以访问操作系统保存的那些快照?
谢谢 ...
ios - xctool 使用今天的扩展构建
我们有一个与今天的扩展集成的应用程序,我们使用 xctool 和 Jenkins 进行持续构建和内部分发。
在命令行中,在我们使用之前
生成存档然后导出到.ipa,它工作正常。
但是现在有了今天的扩展,我们必须用另一个方案和 xcconfig 来构建它,我们将证书和配置文件放在 xcconfig 中,因为今天的扩展是一个新目标,应该用它自己的证书和配置文件构建,我想知道如何使用xctool来实现。
任何帮助表示赞赏。
xcode - XCode 6.1.1 - 今日扩展调试
我已经安装了新的 XCode,现在我在调试我今天的扩展时遇到了问题(在模拟器或设备中 - 两者都不起作用)。Apple 文档中的步骤不起作用,扩展始终挂在“等待附加”上。我也试过这个:How to debug iOS 8 extensions with NSLog? ,但也没有运气。
ios - NSTextAttachment 未显示在今日通知中心小部件中
我有一个通知中心小部件,它有一个带有表格视图单元格的表格视图。在单元格中,我有一个标签,我想用文本+图像显示。作为 NSTextAttachment 包含的图像。我在应用程序中有以下代码:
此代码在应用程序内部有效,但我也尝试在我的小部件(以及 TodayViewController)中使用。在小部件中显示时,标签上不会显示任何图像。如果我在运行此代码时停止,我可以看到 attachment.image 已正确设置。我究竟做错了什么?谢谢!
ios - iOS 8 小部件,在应用程序组之间向前和向后共享数据
我有一个消息应用程序,我开始创建一个小部件。当用户打开应用程序时,会使用新消息更新核心数据。我的愿望是:
调用我将获取UIViewController
并调用我的获取消息线程。链接到UIViewController
我的小部件目标给了我一个错误:
所以我取消了它。
我想要实现的目标:1. widgetPerformUpdateWithCompletionHandler 被调用 2. 应用程序启动获取消息线程/方法 3. 完成后,它使用 NSUserDefaults 将数据发送回小部件
我的代码:
1:
2:
3:
什么都没有发生,因为MainController
第 2 步中的值为零。我能做些什么?