【发布时间】:2017-03-17 08:55:16
【问题描述】:
我在我的应用程序中使用扩展程序。用于使用应用组在应用和扩展程序之间共享数据。如何以编程方式读取应用组名称,因此无需创建额外的配置文件来存储应用组名称。
【问题讨论】:
标签: ios objective-c swift watchkit
我在我的应用程序中使用扩展程序。用于使用应用组在应用和扩展程序之间共享数据。如何以编程方式读取应用组名称,因此无需创建额外的配置文件来存储应用组名称。
【问题讨论】:
标签: ios objective-c swift watchkit
您只能在开发(调试模式)中使用它,entitlements 被写入应用程序包中的embedded.mobileprovision 文件中。
当您归档.ipa 文件或将您的应用程序交付给AppStore 时,不会包含embedded.mobileprovision。
在Debug 你可以试试这个:
/* Swift 3 */
if let path = Bundle.main.path(forResource: "YourProjectName", ofType: "entitlements") {
let dict = NSDictionary(contentsOfFile: path)
let appGroups: NSArray = dict?.object(forKey: "com.apple.security.application-groups") as! NSArray
}
【讨论】:
security cms -Di embedded.mobileprovision 会告诉你应用组名。
所以,正确的答案是:它不起作用。 为您的应用组名称使用静态类或常量。
【讨论】: