1

私は自分のアプリで google+ の統合を行いましたが、完全に正常に動作します。しかし、ログアウト中に EXC_BAD_ACCESS エラーが発生することがあります。これは私のログアウト機能です

-(void) logout
{
     [[GPPSignIn sharedInstance]signOut];
     [[GPPSignIn sharedInstance] disconnect]; // EXC_BAD_ACCESS Error occurs in this line
} 

このエラーは常に発生するとは限りません。セッションに関連する何かを行う必要があると思います。私はそれを検索しようとしましたが、これまでのところ解決策が見つかりませんでした。このエラーはめったに発生せず、正確にいつ発生するかわかりません。このエラーの後にアプリを実行すると、問題なく動作し、問題はありません。しかし、それでもエラーであり、他の誰かが同じ経験をして、これに対する回避策を見つけたかどうか疑問に思っていました.

4

1 に答える 1

2

この問題は、signOutメソッドとdisconnectメソッドの両方を呼び出すことが原因のようです。disconnect メソッドもサインアウトを実行します。ドキュメントには、「切断するにはトークンが必要なので、切断を呼び出す場合は signOut を呼び出さないでください」と記載されています。

ユーザーをサインアウトするだけの場合は、「signOut」メソッドを呼び出すだけです。次に例を示します。

- (void)signOut
   { 
     [[GPPSignIn sharedInstance] signOut];
 }

ユーザーを切断する (ユーザーに代わってアプリの API アクセスを取り消す) 場合、このメソッドはサインアウトも実行します。

 - (void)disconnect
   {
      [[GPPSignIn sharedInstance] disconnect];
   }

didDisconnectWithError:(NSError *)errorまた、ユーザーの詳細をクリーンアップし、切断に関する Google+ のポリシーに従う方法も実装する必要があります。

詳細については、公式の Google+ iOS ドキュメントをお読みください。

于 2013-10-28T05:04:14.690 に答える