2013-02-05 82 views
2

我正在沙箱中處理我的應用程序。當我打電話給-bookmarkDataWithOptions: includingResourceValuesForKeys:relativeToURL:error:時,我收到nil,沒有任何解釋(錯誤對象也是nil)。沙盒:bookmarkDataWithOptions和錯誤無解釋

  • 應用程序是正確簽名
  • 我創建了這些權利:
<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); 
} 

我看到,當我通過加強在調試器的代碼,fileURLSecureDataerror-bookmarkDataWithOptions: includingResourceValuesForKeys:relativeToURL:error:

我必須失去了一些東西執行後都nil。我已閱讀並重新閱讀論壇和文章,但我無法弄清楚我做錯了什麼。

+0

你確定'nextFile'不是'nil'嗎?因爲這會解釋'error'和'fileURLSecureData'在這裏是'nil'。 – ipmcc

+0

唉,它不是零... – pierocampanelli

+0

你見過我在這裏問過的問題嗎? http://stackoverflow.com/questions/10259692/app-sandbox-document-scoped-bookmark-not-resolving-not-returning-any-error我有一個類似的問題。另外,你可以在你從'NSOpenPanel'獲取URL的地方添加代碼嗎?這可能是問題所在。 – Dov

回答

1

已解決。問題是微不足道的。在Xcode中,我無意中取消選中開發配置的「啓用授權」,並將其檢查爲發佈版本。