這個參數設定似乎很多人都會遇到。
Apple 官方文件:
https://developer.apple.com/documentation/uikit/uiapplication/1622952-canopenurl
Facebook 應用程式允許清單
如果您使用任一 Facebook 對話方塊(例如:登入、分享、應用程式邀請等等)執行應用程式切換到 Facebook 應用程式,則您必須更新應用程式的 plist 檔,以處理 https://developer.apple.com/videos/wwdc/2015/?id=703 中所述的 canOpenURL
變更。
如果您是使用 iOS SDK 9.0 重新編譯,請將下列項目新增到應用程式的 plist 檔(若您目前使用的是 SDK 4.5 版或更舊版本):
<key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fbapi20130214</string> <string>fbapi20130410</string> <string>fbapi20130702</string> <string>fbapi20131010</string> <string>fbapi20131219</string> <string>fbapi20140410</string> <string>fbapi20140116</string> <string>fbapi20150313</string> <string>fbapi20150629</string> <string>fbapi20160328</string> <string>fbauth</string> <string>fbauth2</string> <string>fb-messenger-api20140430</string> </array>
如果您使用的是比 4.6 版更舊版本的 FBSDKMessengerShareKit,另請新增
<string>fb-messenger-platform-20150128</string> <string>fb-messenger-platform-20150218</string> <string>fb-messenger-platform-20150305</string>
如果您使用的是 4.6.0 版或更高版本 SDK,則只需新增:
<key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>
如果您使用的是 4.29.0 版或更高版本 SDK,則需新增:
<key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fb-messenger-share-api</string> <string>fbauth2</string> <string>fbshareextension</string> </array>
此有助於 Facebook SDK 整合,進而正確識別已安裝的 Facebook 應用程式,並執行應用程式切換。如果您並非使用 iOS SDK 9.0 重新編譯,則應用程式限制只能有 50 個相異配置(之後傳送到 canOpenURL
的呼叫傳回 NO
)。