2015-06-17 26 views
5

Tôi đang sử dụng phiên bản beta xcode 7. Bây giờ, tôi đang làm việc một API. Nếu, tôi sử dụng API trong Xcode 6.3 nó hoạt động tốt nhưng khi cùng một API tôi sử dụng trong thông báo lỗi xcode 7 xuất hiện Không thể phân tích cú pháp.Lỗi cuộc gọi Api trong Xcode 7/iOS 9 (cách thiết lập Bảo mật truyền tải ứng dụng theo định dạng)

here is the API i am using

Hãy giúp tôi. Cảm ơn bạn đã nâng cao

+0

Đó không phải là API có dữ liệu XML. – Droppy

+0

có nó là một dữ liệu xml nhưng trong phản hồi xcode 7 không nhận được nó cho thấy nil –

+0

Bạn có nghĩ rằng việc hiển thị mã của bạn có thể giúp giải quyết vấn đề hay bạn nghĩ chúng tôi đoán cách bạn đã triển khai giải pháp của mình? – Droppy

Trả lời

9

Trong iOS9, Apple đã thêm tính năng mới có tên là Bảo mật chuyển tải ứng dụng (ATS).

ATS thực thi các phương pháp hay nhất trong khi thực hiện cuộc gọi mạng, bao gồm cả việc sử dụng HTTPS.

của Apple Pre-release tài liệu:

ATS ngăn chặn việc tiết lộ tình cờ, cung cấp hành vi mặc định an toàn, và rất dễ dàng để chấp nhận. Bạn nên áp dụng ATS càng sớm càng tốt, bất kể bạn đang tạo ứng dụng mới hay đang cập nhật ứng dụng hiện có.

Nếu bạn đang phát triển một ứng dụng mới, bạn chỉ nên sử dụng HTTPS. Nếu bạn có ứng dụng hiện có, bạn nên sử dụng HTTPS nhiều nhất có thể ngay bây giờ và tạo kế hoạch di chuyển phần còn lại của ứng dụng của bạn thành sớm nhất có thể.

Thêm khóa bên dưới vào thông tin của bạn.plist & sau đó xem.

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

Thậm chí bạn có thể thêm ngoại lệ cụ thể,

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSExceptionDomains</key> 
    <dict> 
     <key>testdomain.com</key> 
     <dict> 
      <key>NSIncludesSubdomains</key> 
      <false/> 
      <key>NSExceptionAllowInsecureHTTPSLoads</key> 
      <false/> 
      <key>NSExceptionRequiresForwardSecrecy</key> 
      <true/> 
      <key>NSExceptionMinimumTLSVersion</key> 
      <string>TLSv1.2</string> 
      <key>NSThirdPartyExceptionAllowInsecureHTTPSLoads</key> 
      <false/> 
      <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> 
      <true/> 
      <key>NSThirdPartyExceptionMinimumTLSVersion</key> 
      <string>TLSv1.2</string> 
      <key>NSRequiresCertificateTransparency</key> 
      <false/> 
     </dict> 

     ... 

    </dict> 
</dict> 
+0

Thanks a lot nó hoạt động tốt đối với tôi –

4

Bạn có thể làm theo các bước này dễ dàng ..

Thêm dòng sau vào bạn info.plist enter image description here

NSAppTransportSecurity
NSAllowsArbitraryLoads
này sẽ giúp bạn.

+0

Hoạt động tốt NSAppTransportSecurity NSAllowsArbitraryLoads nó sẽ được giúp đỡ đầy đủ .... –

+1

'NSAppTransportSecurity NSAllowsArbitraryLoads' –

Các vấn đề liên quan