我正在尝试实现一个包含音乐播放器控件的示例 iOS 8 Today 小部件,该应用程序是一个启用了背景音频的基本音乐应用程序。
我环顾四周寻找一种通知包含应用程序的方法,但我没有找到任何!
场景基本上是,应用程序处于暂停状态并且在选定的歌曲/专辑上(它可能在某首歌曲上暂停),然后我需要在小部件上显示名称,带有播放/停止/下一步按钮等。
基于Apple的文档,以及描述使用场景的文档: https ://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/ExtensibilityPG.pdf
它提到扩展不应该处理任何长时间的执行,并特别指出音频播放是不受支持的情况,因为它需要在扩展之外运行。但它没有提到在这种情况下触发包含应用程序的方法,它只是提到了可以处理大文件下载和在后台唤醒应用程序以调用 handleEventsForBackgroundUrlSession 的 NSURLSession 技术,以及包含应用程序和扩展程序的应用程序组共享功能访问共享数据容器。唯一可行的解决方案是 openURL 解决方案,它将强制将整个应用程序置于前台。
我确实为我的演示设置了一个 App-Group,并尝试使用自定义通知调用 NSNotificationCenter,分别在包含应用程序和扩展程序上调用 addObserver/postNotificationName,但它根本不起作用。我什至尝试更改 App-Group 的 NSUserDefaults ,但这在包含应用程序的背景时也不会触发。
以下是一些可能相关的问题,但我没有找到答案:(在应用程序扩展和容器应用程序之间共享数据)---(当应用程序从后台恢复时未发送 NSUserDefaultsDidChangeNotification)---(设置通知来自今日扩展小部件)
我认为这可能不可行,但我刚刚发现了一个名为 TapTunes 的应用程序,它最近添加了一个具有类似功能的小部件,包括扩展本身中的所有控件。
谢谢。