2017-07-03 18 views
9

私のプロジェクトでは、常にSLComposeViewControllerを使用してサードパーティのアプリケーションとコンテンツを共有していますが、iPhoneをiOS 11ベータにアップデートすると、動作しなくなりました。また、SLComposeViewControllerCompletionHandlerは常にSLComposeViewControllerResultCancelledをコールバックします。 なぜですか?iOS 11の「SLComposeViewController」についてベータ版

答えて

9

iOS 11では、設定アプリを通じて、サードパーティのアカウント(FacebookやTwitterなど)へのアクセスが削除されました。私は現在同じことで苦労しています。

これで、サードパーティのSDKと機能を統合する必要があります。私はまだきた他のソーシャルネットワークを移行する方法についての具体的な指示を見つけることが

https://dev.twitter.com/twitterkit/ios/migrate-social-framework

が、それは、それは彼らのサードパーティのSDKを必要としますと言っても安全です - :Twitterは取るべき手順についてはこちらを移行ページがあります。

+1

SLComposeViewControllerは以前と同じように私のためにうまくいきます。 Matheusが投稿した答えを確認してください。 – Leon

10

:-(

んが、より簡単にアウトボックスソーシャル共有しない私は、iOS 11でSLComposerに関して問題を抱えていた。しかし、私はちょうどチェックし、明らかに自分のSDKがvalidacoesを作るの行を削除私には、内部

この行は任意のSLServiceTypeために役立つ削除します。

if ([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) { 

だから、あなたのロジックを開発する私の場合:。

私は助けてくれることを願っています!

static NSString *const canOpenFacebookURL = @"fbauth2"; 

は+ LSApplicationQueriesSchemesに追加する:iOSの11本のラインのために

+0

これは動作します - ユーザーがログインしていなければ、コンポーザーはまだポップアップしますが、 "ログインする必要があります"という警告メッセージが表示されます。 – davedavedave

+0

iOS11にデプロイメントターゲットを設定するとき、このソリューションは(iPhone)シミュレータのユーザーには有効ですか?それはクラッシュしないか、何も私はiOS10以下のアクションシートを取得せず、コンソールでは 'ViewDidAppearが、リモートVCは失敗し、ディスマイズされ、'シートが提示されず、早すぎる完了を呼び出す 'と表示されますか? –

+0

まだここに示すように私のためにツイッターで作業しています。 iPad AirとiOSで動作する11.2.2。 –

2

:ユーザーがFacebookアプリをインストールしている場合

([SLComposeViewController isAvailableForServiceType:SLServiceTypeFacebook]) 

は常に

NOを返して、私はチェックして、それを置き換えますplistで

-(BOOL)isFacebookAppInstalled { 
    NSURLComponents *components = [[NSURLComponents alloc] init]; 
    components.scheme = canOpenFacebookURL; 
    components.path = @"/"; 
    return [[UIApplication sharedApplication] 
      canOpenURL:components.URL]; 
} 

そして、Matheus Domingosと同じように、いつものようにSLComposeViewController *composeVC = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

を呼び出してください。しかし、このチェックでは、少なくともあなたはFacebookのアプリがインストールされていることを知っています。

関連する問題