2016-09-28 5 views
0

PhoneGapを使用してAndroidとiOSのクロスプラットフォームアプリケーションを開発しています。 auth()にアクセスしてユーザを認証することは、両方のプラットフォームで正しく動作します。これはFirebaseコンソールで確認できます。iOS 10、Firebase、PhoneGap - SSLエラーの取得

ただし、データベースにアクセスするのはAndroidのみです。私はiOSの中に同じコードを実行すると、それは私を与える:​​3210がするように

"Failed to load resource: An SSL error has occurred and a secure connection to the server cannot be made." 

私のCSPは、firebaseio.comとそのサブドメインを含んでいます。また、XcodeのATSが有効になっていることを確認することもでき、シミュレータでPhoneGapアプリを実行すると正しく生成されます。コードの例として

var adminRef = firebase.database().ref('/admin/'); 
    console.log('here'); 
    console.log(adminRef); 
    adminRef.on('value', function(snapshot) { 
     //do stuff with the result... 
} 

は、SSLエラーをスローします。設定(したがってplist)でAPP転送セキュリティを無効にしても、接続は許可されません。

何か不足していますか?すべてが最新です。

答えて

1

わかりました。 ios 10でFirebaseデータベースにアクセスするには、転送秘密を無効にする必要があります。

だけのplistでは、この手段:

<key>firebaseio.com</key> 
    <dict> 
     <key>NSIncludesSubdomains</key> 
     <true/> 
     <key>NSExceptionRequiresForwardSecrecy</key> 
     <false/> 
    </dict> 

それともコルドバ/ PhoneGapの中

は、あなたがconfig.xmlでそれを無効にすることができます。私の場合は
<access origin="https://*.firebaseio.com" subdomains="true" requires-forward-secrecy="false"/> 

は、私はそれからなって始まりましたCSPにないwebsocket呼び出しに関するエラー。それはありましたが、機能していませんでした。私のconfig.xmlには、さらに次のものを追加する必要がありました。

<access origin="wss://*.firebaseio.com" subdomains="true"/> 

これでconfig.xmlファイルとビルドの作業はすべて正常です。 これは誰かに頭痛を救うことを望みます。

関連する問題