问题标签 [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.

0 投票
0 回答
1091 浏览

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

0 投票
4 回答
5252 浏览

ios - coredata - 移动到应用组目标

我是 Today 扩展的新手并使用嵌入式框架。

我们的应用程序目前使用由 sqlite 支持的核心数据。如果我想在应用程序和今天的扩展程序之间共享它,我应该将它移动到一个框架以供两者共享吗?

如何迁移应用商店中的当前版本以升级到新结构?

0 投票
1 回答
238 浏览

ios - 发布没有今天扩展的应用程序?

我在我的项目中完成了今天的一半扩展。我不必向公众发布半成品,但也想保持相同的代码库,这样我就可以节省代码维护时间。

有谁知道在没有内置 Today 扩展的情况下发布应用程序的方法?

谢谢

0 投票
1 回答
1047 浏览

ios - 带有参数的今日小部件 openurl

我的应用程序有一个今日小部件,它在用户点击今日小部件时打开包含的应用程序。

此代码按预期工作。但现在我想用这个作为参数发送一些数据。所以我可以在包含的app中打开对应的视图控制器使用这个参数。

我也在 Apple API 文档和 stackoverflow 中进行了搜索,但找不到合适的答案。

请给我发送数据到包含应用程序使用的建议openURL

0 投票
0 回答
99 浏览

ios - UIImageView 随机消失?

在我的小部件扩展中,我只有以下代码在小部件出现时被调用,在代码中没有任何地方,我是在调整 _imageView 的框架或隐藏属性。但是,每次执行此代码时,代码都可以正常工作并执行应有的操作,但是 _imageView 消失了。起初我以为 _imageView 正在以某种方式从视图中删除,所以我添加了一个日志来注销 _imageView 的框架,以进行检查。日志恢复正常。

然后我发现如果我通过通知中心滚动到不再显示小部件的位置,然后向后滚动,然后我可以再次看到我的小部件,imageView 又回来了,没问题。

为什么 _imageView 在执行此代码时“消失”?

0 投票
0 回答
554 浏览

ios - iOS 8 今日小部件快照

我正在开发一个今天的小部件,显示有关使用它的用户的一些个人信息。根据 Apple 文档(此处),系统会捕获今天小部件视图的快照。

为了帮助您的小部件保持最新状态,系统有时会捕获小部件视图的快照。当小部件再次可见时,将显示最近的快照,直到系统将其替换为视图的实时版本。

表单安全原因和数据完整性我被问到以下问题:

  1. 快照保存在哪里?
  2. 有没有人可以访问操作系统保存的那些快照?

谢谢 ...

0 投票
1 回答
5069 浏览

ios - xctool 使用今天的扩展构建

我们有一个与今天的扩展集成的应用程序,我们使用 xctool 和 Jenkins 进行持续构建和内部分发。

在命令行中,在我们使用之前

生成存档然后导出到.ipa,它工作正常。

但是现在有了今天的扩展,我们必须用另一个方案和 xcconfig 来构建它,我们将证书和配置文件放在 xcconfig 中,因为今天的扩展是一个新目标,应该用它自己的证书和配置文件构建,我想知道如何使用xctool来实现。

任何帮助表示赞赏。

0 投票
2 回答
356 浏览

xcode - XCode 6.1.1 - 今日扩展调试

我已经安装了新的 XCode,现在我在调试我今天的扩展时遇到了问题(在模拟器或设备中 - 两者都不起作用)。Apple 文档中的步骤不起作用,扩展始终挂在“等待附加”上。我也试过这个:How to debug iOS 8 extensions with NSLog? ,但也没有运气。

0 投票
2 回答
255 浏览

ios - NSTextAttachment 未显示在今日通知中心小部件中

我有一个通知中心小部件,它有一个带有表格视图单元格的表格视图。在单元格中,我有一个标签,我想用文本+图像显示。作为 NSTextAttachment 包含的图像。我在应用程序中有以下代码:

此代码在应用程序内部有效,但我也尝试在我的小部件(以及 TodayViewController)中使用。在小部件中显示时,标签上不会显示任何图像。如果我在运行此代码时停止,我可以看到 attachment.image 已正确设置。我究竟做错了什么?谢谢!

0 投票
1 回答
1015 浏览

ios - iOS 8 小部件,在应用程序组之间向前和向后共享数据

我有一个消息应用程序,我开始创建一个小部件。当用户打开应用程序时,会使用新消息更新核心数据。我的愿望是:

调用我将获取UIViewController并调用我的获取消息线程。链接到UIViewController我的小部件目标给了我一个错误:

所以我取消了它。

我想要实现的目标:1. widgetPerformUpdateWithCompletionHandler 被调用 2. 应用程序启动获取消息线程/方法 3. 完成后,它使用 NSUserDefaults 将数据发送回小部件

我的代码:

1:

2:

3:

什么都没有发生,因为MainController第 2 步中的值为零。我能做些什么?