這在 Xcode 6.4 + iOS 8 時,是不會有的情況,原因是【為了強制增強數據訪問安全, iOS9 默認會把所有從
NSURLConnection
、
CFURL
、
NSURLSession
發出的 HTTP 請求,都改為 HTTPS 請求:iOS9.x-SDK編譯時,默認會讓所有從
NSURLConnection
、
CFURL
、
NSURLSession
發出的 HTTP 請求統一采用 TLS 1.2(SSL 3.1) 協議。】
1、如果你的輸出信息是-canOpenURL: failed for URL: "kindle://home" - error: "This app is not allowed to query for scheme kindle"
去你的 target 里面的 Build Settings 下的 Enable Bitcode,把它設置成 NO,這不一定會阻擋你的控制台繼續輸出這條信息,但是可以保證你的 App 正常運行。
2、如果你的輸出信息是 xxxx - error: "This app is not allowed to query for scheme xxxx"
去 Info.plist 里面建立一個叫 LSApplicationQueriesSchemes 的 Array,把你在xxxx部分看到的詞匯一個一個填進去,直至控制台沒有任何相關輸出即可。
提示:
本來加入之前提示:
-canOpenURL: failed for URL: "mqqopensdkapiV2://qzapp" - error: "This app is not allowed to query for scheme mqqopensdkapiV2"
加入之后,error原因就沒有了。如下:
-canOpenURL: failed for URL: "mqqopensdkapiV2://qzapp" - error: "(null)"
原因:要使用iOS9的真機!不要用模擬器測試,不然一直報-canOpenURL: failed for URL: "XXXXXXXXXX" - error: "(null)"。