【发布时间】:2016-03-12 00:15:59
【问题描述】:
我已经为我的主机应用和共享扩展设置了应用组。标识符看起来像“group.com.abc.xyzApp”。有没有办法以编程方式获取这个字符串? 另外,如何检测应用程序组是否以编程方式设置?是否尝试使用足以知道的应用程序组标识符初始化文件容器或用户默认值? 例如:
[[NSUserDefaults alloc] initWithSuiteName:@"group.com.abc.xyzApp"].
【问题讨论】:
-
嗨@Shwethascar,你找到解决方案了吗?
-
@W.S 不,我没有。我最终为标识符使用了预设字符串。
-
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyApplicationTargetName" ofType:@"entitlements"]; NSDictionary *dict = [[NSDictionary alloc]initWithContentsOfFile:path]; NSArray *appGroups = [dict objectForKey:@"com.apple.security.application-groups"];我能够使用上面的代码读取组数组。现在我正在尝试以编程方式查找权利文件名,因此 WatchKit Extension 和 App 都以编程方式读取它的应用程序组,而无需硬编码字符串。
-
@W.S 我想我读到这仅在开发中有效?
-
如果你解压你的ipa文件,你会得到一个名为embedded.mobileprovision的文件;命令
security cms -Di embedded.mobileprovision将告诉您应用程序组名称。我不知道如何以编程方式阅读它。
标签: ios objective-c share-extension