2016-12-13 34 views
2

我得到真實設備此錯誤:-canOpenURL:失敗的URL: 「testapp23://」 - 錯誤: 「(空)」

-canOpenURL:失敗的URL: 「testapp23://應用」 - 錯誤: 「(空)」

這是我的代碼使用方法:

let openAnotherAppURL = NSURL(string: "testapp23://app")!  
if (UIApplication.sharedApplication().canOpenURL(openAnotherAppURL)) { 
//some code 
} 

我加LSApplicationQueriesSchemes我Info.plist文件

<key>LSApplicationQueriesSchemes</key> 
<array> 
    <string>testapp23</string> 
</array> 

它似乎「識別」第二個應用程序方案方案,因爲當我使用其他類似「testaapp23」時,我得到不同的錯誤消息(這很有意義):

-canOpenURL:URL失敗:「testaapp23: //應用程序」 - 錯誤:‘這個程序是不允許查詢計劃testaapp23’

我已經安裝了設備

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeRole</key> 
     <string>Editor</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>testapp23</string> 
     </array> 
    </dict> 
</array> 

我失去了一些東西明顯在第二應用程序?

回答

0

嘗試在目標應用程序在其Info.plist中:

<key>CFBundleURLTypes</key> 
<array> 
    <dict> 
     <key>CFBundleTypeRole</key> 
     <string>Editor</string> 
     <key>CFBundleURLSchemes</key> 
     <array> 
      <string>testapp23</string> 
     </array> 
    </dict> 
</array> 

我創建示範項目2個目標:源和目標應用程序。一切工作正常,當我運行目標,比源和檢查canOpenURL:

+0

是的,我的第二個應用程序的info.plist中有相同的內容 –

+0

好吧,讓我測試一下。 –

+0

@MadhuAvinash你至少運行一次你的目標應用程序?我創建了包含2個目標的演示項目,並且只創建了NSURL * URL = [NSURL URLWithString:@「testapp23://」]; BOOL can = [[UIApplication sharedApplication] canOpenURL:URL];' - 沒關係。 –

相關問題