2

我正在沙箱化我的应用程序。当我打电话时,-bookmarkDataWithOptions: includingResourceValuesForKeys:relativeToURL:error:我没有任何解释就收到nil了(错误对象nil也是)。

  • 该应用程序已正确签名
  • 我创建了这些权利:
<dict>
  <key>com.apple.security.app-sandbox</key>
  <true/>
  <key>com.apple.security.files.user-selected.read-write</key>
  <true/>
  <key>com.apple.security.network.client</key>
  <true/>
  <key>com.apple.security.files.bookmarks.app-scope</key>
  <true/>
</dict>
</plist>
  • 我正在使用以下代码创建书签:
NSError *error = nil; 

// nextfile is NSURL and comes from NSOpenPanel

NSData *fileURLSecureData = [nextFile bookmarkDataWithOptions:NSURLBookmarkCreationWithSecurityScope 
                               includingResourceValuesForKeys:nil
                                                relativeToURL:nil
                                                        error:&error]; 

if (error) {
    ALog(@"Error securing bookmark %@", error);
}

我看到,当我在调试器中单步执行代码时,fileURLSecureData并且errornil在执行之后-bookmarkDataWithOptions: includingResourceValuesForKeys:relativeToURL:error:

我肯定错过了什么。我已经阅读并重新阅读了论坛和文章,但我无法弄清楚我做错了什么。

4

1 回答 1

1

解决了。问题是微不足道的。在 Xcode 中,我无意中取消了 Dev 配置的“Enable Entitlement”的选中,而将其选中了 Release 版本。

于 2013-02-07T18:06:57.897 回答