我想在iOS環境中的多個應用程序之間共享文件。NSFileManager中的containerURLForSecurityApplicationGroupIdentifier如何在iOS 7上工作
我已經在使用UIDocumentInteractionController機制來達到目的,但我面臨一個問題,因爲應用程序之間交換的數據量很大(2Go左右)。
我正在使用ZipArchive庫來收集所有共享文件,但它在某些情況下確實會失敗以創建巨大的zip文件。 我試圖發送一個目錄而不是文件,但內容不會被複制。
當我升級到iOS 7時,我試圖在NSFileManager中使新的可用containerURLForSecurityApplicationGroupIdentifier方法工作。 我已經遵循了幾個例子,但他們是爲MAC OS X.
這是一個蘋果的錯誤,也使這個API也適用於iOS 7,或者需要哪些指令,使其工作。
這裏是應用程序的權利文件的內容:
<?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.example.AppFileSharing</string>
</array>
<key>keychain-access-groups</key>
<array>
<string>$(AppIdentifierPrefix)com.example.AppFileSharing</string>
</array>
</dict>
</plist>
下面是示例代碼訪問容器:
NSFileManager* fileManager = [NSFileManager defaultManager];
NSURL* containerURL = [fileManager
containerURLForSecurityApplicationGroupIdentifier:@"com.example.AppFileSharing"];
NSLog(@"%@", containerURL);
當我運行的應用程序,該containerURL爲空。
讓這個功能起作用真是太棒了。
問候,
DAB
喜你該解決方案? – Hitendra
我在iPhone模擬器上取得了一點成功,但無法在真正的iPad上運行它。自從這篇文章以來,我無法進行進一步的測試。您需要注意的是您的目標的常規屬性中的團隊信息。這意味着這種行爲可能是致力於企業計劃的。 – dab