私は長い間この問題に苦労していましたが、トンネルの終わりに光が見えません。私はionicのモバイルアプリを開発しています。私はfirebaseを使用していますが、私はcordova-plugin-googleplusでログインボタンを実装しました。私は最初は働いていましたが、最近はクリーンな状態でiOS用のプラットフォームを追加した後、コンソール上で「キーチェーンエラー」というメッセージが表示されなくなりました。ログイン時にキーチェーンエラーが発生しています
Androidではうまく動作します。今すぐすべてを試しました(キーチェーンの共有機能を無効にして再度有効にし、すべての環境をクリーンアップして再構築し、GoogleService-Info.plist全体をチェックし、reversed_client_idを確認しました...)不足している)。
誰かが私に手を差し伸べることができたら、本当に感謝します。ありがとうございました。
いくつかの追加情報:
Your system information:
Cordova CLI: 6.4.0
Gulp version: CLI version 3.9.1
Gulp local: Local version 3.9.1
Ionic Framework Version: 1.2.1-nightly-1867
Ionic CLI Version: 2.1.4
Ionic App Lib Version: 2.1.2
ios-deploy version: 1.8.6
ios-sim version: 5.0.11
OS: Mac OS X Sierra
Node Version: v4.4.4
Xcode version: Xcode 8.1 Build version 8B62
プラグインがインストールさ:
cordova-plugin-calendar 4.5.5 "Calendar"
cordova-plugin-console 1.0.4 "Console"
cordova-plugin-device 1.1.3 "Device"
cordova-plugin-dialogs 1.3.0 "Notification"
cordova-plugin-fcm 1.1.5 "FCMPlugin"
cordova-plugin-googleplus 5.1.1 "Google SignIn"
cordova-plugin-inappbrowser 1.5.0 "InAppBrowser"
cordova-plugin-splashscreen 2.1.0 "Splashscreen"
cordova-plugin-transport-security 0.1.2 "App Transport Security"
cordova-plugin-whitelist 1.3.0 "Whitelist"
ionic-plugin-keyboard 2.2.1 "Keyboard"
config.xmlファイル(その一部):
<plugin name="cordova-plugin-googleplus" spec="~5.1.1">
<variable name="REVERSED_CLIENT_ID" value="XXXX-THIS_HAS_THE_CORRECT_ID-XXXXX"/>
</plugin>
コンソールにエラーメッセージ:
keychain error
エミュレータのSYSTEM.LOGからいくつかのエラーメッセージが:
securityd[16035]: found no keychain client entitlements. task=Xxxxx App[17178]/1#0 LF=0 procid=com.xxxx.xxxx cs_flags=0x22000201
コントローラでのログイン機能:
$scope.loginGoogle = function(){
$ionicLoading.show();
LogService.log(TAG, 'webClientId : ' + 'XXXXX');
var clienInfo = {};
if(ionic.Platform.isAndroid())
{
clienInfo.webClientId = 'XXXXXXX';
}
window.plugins.googleplus.login(
clienInfo,
function (obj) {
// alert(JSON.stringify(obj));
LogService.log(TAG, 'googleplus.login result : ' + JSON.stringify(obj));
LogService.log(TAG, 'obj.idToken : ' + obj.idToken);
// obj.email // '[email protected]'
// obj.userId // user id
// obj.displayName // 'Eddy Verbruggen'
// obj.familyName // 'Verbruggen'
// obj.givenName // 'Eddy'
// obj.imageUrl // 'http://link-to-my-profilepic.google.com'
// obj.idToken // idToken that can be exchanged to verify user identity.
// obj.serverAuthCode // Auth code that can be exchanged for an access token and refresh token for offline access
var token = obj.idToken;
var userData = {
displayName : obj.displayName,
avatar : obj.imageUrl,
currentSessionOn : 'google'
};
return AuthService.loginGoogle(token, userData).then(function (result) {
$rootScope.$broadcast(AUTH_EVENTS.loginSuccess);
$ionicLoading.hide();
$state.go('app.tabs.events');
}).catch(function(error){
$ionicLoading.hide();
$scope.message = error.message;
$timeout(function() {
$scope.message = null;
}, 3000);
$rootScope.$broadcast(AUTH_EVENTS.loginFailed);
});
},
function (msg) {
LogService.logError(TAG, 'plugins.googleplus.login error: ' + msg);
$ionicLoading.hide();
});
};
問題を解決しましたか?私は同じ問題に直面しています:/ –
Xcodeからプロジェクトを起動すると、問題を解決するように見えます。この問題は、Ionic CLIを使用しても引き続き発生します。 – Nitrato