2015-04-02 13 views
6

ile çağırırken hata oluştu Bazen CloudCode işlevleri çağrılırken iOS 8'de bir hata alıyorum. Bazen sadece olur ve neden hiçbir fikrim yok:SSL Parse.com bulut işlevlerini iOS 8

Error: Error Domain=Parse Code=100 "The operation couldn’t be completed. (Parse error 100.)" UserInfo=0x17ed2150 

{ Code=100, 
    error=Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." 
    UserInfo=0x19d0c750 { 
     NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., 
     NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, 
     _kCFStreamErrorCodeKey=-9824, 
     NSErrorFailingURLStringKey=https://api.parse.com/1/functions/weshread, 
     _kCFStreamErrorDomainKey=3, 
     NSUnderlyingError=0x19de4f40 "An SSL error has occurred and a secure connection to the server cannot be made.", 
     NSErrorFailingURLKey=https://api.parse.com/1/functions/weshread 
    } 
    ... 
} 

cevap

0

Analytics sunucuları henüz TLSv2 desteklemez anlaşılıyor. Geçici olarak bunu geçici olarak çözmek için iOS 9 uygulamasına güvenli olmayan bağlantılar yapması gerektiğini söylemeniz gerekir.

uygulamanız için Info.plist dosyasına aşağıdaki girişi ekleyin:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
    <true/> 
</dict> 
+0

Ack! Bu tüm ATS'yi devre dışı bırakıyor. Tek yapmanız gereken, "api.parse.com" için NSExceptionRequiresForwardSecrecy öğesi false olarak ayarlanmış bir istisnadır. – aranasaurus

+0

Anlaştık, bu etrafta hızlı ve kirli bir çalışma. En iyi alternatif, Parse'nin TLSv2'yi API'ları üzerinde çalışmasını sağlamaktır. –

+0

Xcode 7.0/Swift 2.0 projemde hem NSAlowsArbitraryLoads hem de NSExceptionRequiresForwardSecrecy'yi denedim; ve ben Parse.com –

4

Jack Cox ayrıştırmak TLS enfiye değil belirttiği üzere. Ancak, yalnızca api.parse.com etki alanı için bir istisna eklemeniz gerekir ve istisnanın yalnızca daha az güvenli şifreleri kabul etmesi gerekir. App Transport Security hakkında Apple'dan bu Tech Note'a bakın.

İşte eklenecek ihtiyacı olan şey bu senin Info.plist:

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>api.parse.com</key> 
     <dict> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <false/> 
     </dict> 
    </dict> 
</dict> 

GÜNCELLEME: Ayrıştırma kurtulmak hangi onlar 8/11/2015 üzerindeki certs güncellenmesi olurdu diyerek dün bir e-posta gönderdi bunun için ihtiyaç. Bu olduğunda cevabımı güncelleyeceğim.

+0

ile bağlantı kurmaya çalışırken SSL hatası elde edersem Alamofire ile bu özel durumu nasıl ele alabiliriz? Çözümünüzü denedim ancak yine de istisnayı alıyorum. (PS: iOS9'u Kullanma) –