はじめに

iOS11よりTwitter、Facebook、Flickr、Vimeoアプリのサインイン連携がセキュリティの観点からできなくなりました。
他のサードパーティーアプリと同様の扱いになりました。
アプリでTwitterシェアやFacebookシェアなどをSLComposeViewControllerで実装している場合に挙動が変わります。
ios11のGM版(製品リリース手前)で確認するとアプリがインストールしてあってもFacebook,Twitterのシェアボタンが機能しません。
→GM版のバグな可能性が高いため、正式リリース(9/19)したら改めて動作確認すると良いと思います。

Social accounts have been removed from Settings iOS 11. Third-party apps no longer have access to those signed-in accounts,

appleinsider参考リンク
http://appleinsider.com/articles/17/06/05/apple-drops-twitter-facebook-flickr-vimeo-integration-in-ios-11

SLComposeViewControllerで実装した場合の挙動の違いについて

Twitter,Facebookなどのアプリがインストールされている場合はSLComposeViewControllerの実装のままで問題なく動作するはずです。
→ベータ版、GM版では動いていないので不安
いずれにせよSLComposeViewControllerは推奨されていないため、移行対応を行ったほうが間違いありません。
https://stackoverflow.com/questions/45450300/twitter-sharing-in-ios-11

アプリをインストールしていない場合にシェアが連携できないためできなくなります。
特に実装アプリで処理を入れていない場合は、ボタンを押しても無反応になります。
(アプリをインストールしていないユーザは少ないので特に無視でも問題ないかもしれませんが、ストアに誘導など入れると親切です)

対応方法について

Twitter,Facebookの対応についてのみ記載します。
基本的には公式の各SDKを利用して行えば問題ありません。
(またはWebのSafariなどに認証を投げてシェアさせる方法もできます)

Twitter対応方法

公式で移行手順についてアナウンスしています。
TwitterKit3を使ってくださいとのことです。
https://dev.twitter.com/twitterkit/ios/migrate-social-framework

Facebook対応方法

公式ページよりFacebookSDKでシェアを実装してください。
https://developers.facebook.com/docs/ios/getting-started?locale=ja_JP

その他おすすめの備忘録

Tagged with:
 

Comments are closed.