我正在制作两个iPad应用程序,它们与一个文件进行通信并从一个文件中获取所有数据。我搜索并找到了这个“containerURLForSecurityApplicationGroupIdentifier”,我们可以在其中创建组并进行存储。我在下面写了代码。在授权文件中,我写
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.security.app-sandbox</key>
<true/>
<key>com.apple.security.application-groups</key>
<array>
<string>$(TeamIdentifierPrefix)com.xxx.catalogapp.Coredata</string>
</array>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.xxx.catalogapp.Coredata</string>
</array>
</dict>
</plist>
用代码我写这个
NSFileManager* fileManager = [NSFileManager defaultManager];
NSURL* storeUrl = [fileManager
containerURLForSecurityApplicationGroupIdentifier:@"com.xxx.catalogapp.Coredata"];
NSLog(@"%@", storeUrl);
但是storeUrl我正在获得
nil
值。 最佳答案
Xcode6(当前处于beta版)将强制共享文件夹ID以“group”开头。
在Xcode6/iOS8两个Beta中,使用以下URL共享我的CoreData存储对我来说都是有效的。
NSFileManager* fileManager = [NSFileManager defaultManager];
NSURL* storeUrl = [fileManager containerURLForSecurityApplicationGroupIdentifier:@"group.XXX"];
一旦Xcode6发布,似乎与stevesliva链接的文档将被淘汰。