问题标签 [today-extension]

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 回答
98 浏览

macos - Today Extension 中的 NSTrackingArea 不提供事件

我正在为应该控制 iTunes 的 Mac 开发 Today Extension。它可以正常工作,但我的 UI 包含一个方形封面艺术图像,上面覆盖着效果视图,其中包含元数据和控件:

德普

现在,很明显,如果我能以某种方式让它们仅在需要时出现——比如说,当鼠标光标位于我的扩展程序视图上方时,那就太好了。

正如我之前处理过这类事情一样,我决定将一个小子NSView类放在一起,用于NSTrackingArea在鼠标进入或存在其边界时触发通知:

(摘自我在 GitHub 上的完整代码。

这些NSLogs 可以帮助我进行调试:尽管我的光标毫无问题地移入和移出视图,但它们永远不会触发。

我一直在查看 Apple 的文档,但找不到任何明确禁止此类事情的内容,或者解释为什么它不起作用。它是一个标准的NSView子类,在一个 中NSViewController,但显示在通知中心,而不是一个独立的应用程序。

任何关于为什么这个简单的跟踪区域视图在 Today Extension 中不起作用的建议都值得赞赏。

0 投票
1 回答
470 浏览

ios - iOS 8 小部件无法在 iPhone 6+ 8.0.2 上运行。代码 6.1

我有一个用 obj-c 编写的 cocoapods 工作区项目,带有 ios7 目标和 ios8.1 sdk。当我添加一个新的小部件(今天的扩展)目标,并将应用程序 ID 设置为 .today 时,添加一个配置文件,它在模拟器上运行良好。然而,在设备上,我无法使用调试启动它(Xcode 卡在“等待附加”模式),如果我手动打开“今天”视图,我在“编辑”按钮中看不到我的应用程序名称。添加新目标后,主机应用程序运行良好。我在小部件中启用了 arm64 架构。我在 swift 和 obj-c 中都尝试了这个小部件。

0 投票
0 回答
282 浏览

objective-c - 从今日扩展打开 URL

我正在开发一个可可应用程序,它也使用 OSX Yosemite 的 Today 扩展。

我在 Today 扩展上有一个按钮,我需要它来打开主浏览器和定义的网站。

我通常使用

[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"http://www.google.com"]];

但是此代码在扩展中使用时不起作用。

0 投票
5 回答
8460 浏览

ios - 如何将 Crashlytics 与 iOS / OS X 今日视图扩展一起使用?

由于今天的扩展作为一个单独的进程运行,我相信他们不会记录任何开箱即用的崩溃。我假设我们需要分别在小部件上初始化 Crashlytics。例如viewDidLoadTodayViewController.

  • 是否有人已经在任何 iOS / OS X 扩展中使用 Crashlytics?如果是这样,您是如何实施的?
  • 我还想知道在 Crashlytics 中为扩展创建一个单独的应用程序是否有意义。
0 投票
0 回答
411 浏览

cocoa - NSExtensionContext openURL 在 OS X Today 扩展中不起作用

我想在我的 OSX Today Extension 上调用我的应用程序。这是我用于测试的代码:

当用户触发 NSTableView 的双重动作时调用它。我不确定我是否正确使用了我的应用程序的 URL,所以我将其设置为 google 进行测试。问题是完成处理程序没有被调用,所以我猜somehting正在阻止它。

我是否需要在沙盒功能中指定某些内容才能使其正常工作,或者我应该检查其他任何内容?

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 投票
1 回答
238 浏览

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

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

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

谢谢

0 投票
1 回答
1047 浏览

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

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

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

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

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

0 投票
3 回答
1956 浏览

ios - iOS Today Extension 创建为 .app 而不是 .appex

我正在尝试将 Today Extension 添加到我已经从事了相当长一段时间的项目中。事实上,该应用程序已经在 AppStore 中,我希望通过 Today Extension 来增强它。

问题是扩展程序根本不会启动。不在设备上,也不在模拟器上。

编辑:跳过下一部分并在最后的编辑中继续阅读,因为我认为我发现了问题。我只是不知道如何解决它。

我按照教程完成了一个测试项目,它工作得很好。环境似乎(!)是相同的。设备和模拟器上的 Xcode 6.1.1、iOS 8.1。

我的项目是基于 Objective-C 的。对于扩展,我尝试了 Objective-C 和 Swift 目标。在这两种情况下,所有三个(四个使用 obj-C)文件都按预期创建(故事板、视图控制器和 PLIST)。

没有做更多(与示例项目一样)我正在尝试使用选择的小部件方案启动小部件。对于测试项目,小部件会启动,而实际项目不会。

我在小部件 viewController 的 viewDidLoad 中放置了一个 println()/NSLog,以查看是否有任何事情发生但什么也没有。

很高兴提供代码或设置,但此时我不知道从哪里开始。

我刚刚意识到,通过测试项目,当小部件从 Xcode 运行时,今天的视图将自动启动/出现。在我的实际项目中,我刚刚获得了 HomeScreen,并且必须自己拉下 Today 视图。因此,与测试项目相比,小部件看起来完全一样,但实际上什么都没有发生。

任何帮助表示赞赏。

编辑:这是我遇到的可能构成问题的东西。该小部件永远不会真正启动,并且卡在 Xcode 的调试导航器中的“等待附加”中。虽然其他人似乎也遇到了同样的问题,但到目前为止我发现的所有潜在解决方案都对我不起作用。

编辑:我注意到当我添加一个 Today 小部件作为目标时,二进制文件被命名为.app。我做二进制文件的所有测试项目都被创建为.appex。网络上的所有信息都表明它应该真正命名为.appex。这是从哪里来的,我该如何改变?

0 投票
0 回答
122 浏览

ios - Todays Extension 容器应用操作

我知道如何从今天的扩展中打开 hostApp。但是我不知道如何在 hostApp 中执行操作,当它仅从今天的扩展程序中打开它时。有什么建议么。?提前致谢。