2015-07-21 28 views
1

我的didFinishLaunchingWithOptions方法存儲UIApplicationLaunchOptionsURLKey的文件名並嘗試打開它。iOS 9:如何在不出現錯誤257的情況下訪問UIApplicationLaunchOptionsURLKey?

-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
{ 
    NSURL* url = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey]; 
    NSError* err; 
    if ([url checkResourcesIsReachableAndReturnError:&err]) 
    { 
     ... 
    } 
} 

對於iOS 8,此代碼正常工作。我的應用程序被啓動,因爲某些其他應用程序中選擇「打開」我的應用程序,但適用於iOS 9這個代碼不工作,我也得到

ERR = NSCocoaErrorDomain:代碼257:「文件‘XXX’無法打開 ,因爲您無權查看它。「

「的操作無法完成操作不允許」

非常重要的注意事項:當我的應用程序被關閉,而用戶試圖從另一個應用程序打開文件這隻發生。我發現在UIApplicationLaunchOptionsURLKey中發送的文件確實與我的應用程序不在同一個沙箱中。如果它沒有關閉,只是最小化,所有的行爲都很好,因爲UIApplicationLaunchOptionsURLKey在同一個沙箱中。

回答

0

這是在IOS 9的β3的問題,即在測試解決4.

didFinishLaunchingWithOptions方法用在,這是在不同的應用程序的空間UIApplicationLaunchOptionsURLKey文件路徑觸發,因此它被沙盒和iPhone應用程序無法訪問它。

無論如何,蘋果現在解決了這個問題。

相關問題