[英]how to access a sound file stored in another app in swift?
这个问题很像在两个或多个iPhone应用程序之间共享数据,除了:
(这基本上排除了使用共享表和自定义网址来传递数据,如上面的文章所述)
如果有帮助,我AVAudioSession
在第一个应用程序中使用AVAudioPlayer
和AVAudioSession
播放声音。
您可以通过NSUserDefaults
共享实际的NSData
:
if let userDefaults = NSUserDefaults(suiteName: <group>) {
userDefaults.setObject(obj, forKey: key)
}
并从同一组的另一个应用中检索,如下所示:
if let userDefaults = NSUserDefaults(suiteName: <group>) {
if let obj = userDefaults.objectForKey(key) {
// magic
}
}
看起来,通过用户默认值传递数据的唯一限制是设备存储容量,并且由于NSUserDefaults
接受NSData
作为存储格式,因此它成为共享花絮信息的主要候选者。
如果这两个应用程序都是您的,则可以在第二个应用程序中实现自定义url方案,然后从第一个应用程序询问是否知道如何使用该方案打开URL。 如果答案是肯定的,则说明该应用已安装。 该函数称为canOpenURL
。 这是UIApplication
的实例方法。
我隐约记得在iOS 9和更高版本中,Apple添加了一个限制,即您必须在info.plist中注册要查询的URL,但是我不记得详细信息。 这不会阻止该方案的成功,但这是您必须采取的额外步骤。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.