日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

iOS9 白名单问题 -canOpenURL: failed for URL: xx - error:This app is not allowed to query for scheme x...

發布時間:2023/12/19 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS9 白名单问题 -canOpenURL: failed for URL: xx - error:This app is not allowed to query for scheme x... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

【iOS開發】-canOpenURL: failed for URL: "xx" - error:"This app is not allowed to query for scheme xx"

?

Collection/Bookmark/Share for width under 768px

?

控制臺輸出

?

如圖是在我啟動一個 Xcode 7 + iOS 9 的 App 之后,控制臺的輸出。

這在 Xcode 6.4 + iOS 8 時,是不會有的情況,原因是【為了強制增強數據訪問安全, iOS9 默認會把所有從NSURLConnection 、 CFURL 、 NSURLSession發出的 HTTP 請求,都改為 HTTPS 請求:iOS9.x-SDK編譯時,默認會讓所有從NSURLConnectionCFURL 、 NSURLSession發出的 HTTP 請求統一采用 TLS 1.2(SSL 3.1) 協議。】

下面說解決方案:

①如果你的輸出信息是-canOpenURL: failed for URL: "kindle://home" - error: "This app is not allowed to query for scheme kindle"

?

set Bitcode to NO

?

去你的 target 里面的 Build Settings 下的 Enable Bitcode,把它設置成 NO,這不一定會阻擋你的控制臺繼續輸出這條信息,但是可以保證你的 App 正常運行。

②如果你的輸出信息是 xxxx - error: "This app is not allowed to query for scheme xxxx"

(在這里因為我的 App 集成了分享到QQ、微信、微博的功能,xxxx部分我看到了 mqq、wechat、sinaweibosso 等多條信息)

?

Info.plist

?

去 Info.plist 里面建立一個叫 LSApplicationQueriesSchemes 的 Array,把你在xxxx部分看到的詞匯一個一個填進去,直至控制臺沒有任何相關輸出即可。

③關于其他通過 WebView 訪問 http 網址引發的控制臺報錯信息

?

Info.plist 中設置 ATS

<key>NSAppTransportSecurity</key>

<dict>

<!--Include to allow all connections (DANGER)-->

<key>NSAllowsArbitraryLoads</key>

<true/>

</dict>

如之前所說,Apple 希望我們訪問相對安全的 HTTPS,所以在你需要訪問 HTTP 時,

雖 Apple 不建議,但可通過在 Info.plist 中聲明如上圖所示的內容,倒退回不安全的網絡請求,這樣依然能讓 App 訪問指定 HTTP,甚至任意的 HTTP。

轉載于:https://www.cnblogs.com/zmloveworld/p/5218161.html

總結

以上是生活随笔為你收集整理的iOS9 白名单问题 -canOpenURL: failed for URL: xx - error:This app is not allowed to query for scheme x...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。