https://developer.apple.com/videos/wwdc/2015/?id=711 @ 5: 55
Sepertinya saya tidak bisa menambahkan ini ke info.plist saya. Tidak ada nilainya. Saya menjalankan XCode Versi 7.0 beta (7A121l), dan menguji di iOS9.
Karena saya tidak bisa secara spesifik menyatakan URL apa yang saya inginkan seperti yang terlihat di video, saya terus mendapatkan pesan "App Transport Security telah memblokir pemuatan resource HTTP (http: //) cleartext karena tidak aman. Pengecualian sementara dapat dikonfigurasi melalui aplikasi Anda File info.plist ".
Namun, sepertinya saya tidak dapat mengkonfigurasinya. Ada ide?
ios
objective-c
xcode
ios9
chris P
sumber
sumber
Jawaban:
coba Dengan ini --- bekerja untuk saya di Xcode-beta 4 7.0
Juga satu opsi lagi, jika Anda ingin menonaktifkan ATS, Anda dapat menggunakan ini:
Tapi ini sama sekali tidak disarankan. Server harus memiliki sertifikat SSL dan agar tidak ada kebocoran privasi.
sumber
<key>NSAllowsArbitraryLoads</key> <true/><key>NSExceptionDomains</key>
Jika tidak bagi saya itu tidak berfungsi untuk versi rilis karena alasan tertentuAnda harus menambahkan hanya kunci NSAllowsArbitraryLoads ke YES di kamus NSAppTransportSecurity di file info.plist Anda.
Sebagai contoh,
sumber
Itu tidak berhasil untuk saya, tapi ini berhasil:
sumber
<true/>
alih-alih<YES/>
</dict>
dan</plist>
:Hanya untuk memperjelas ... Anda harus selalu menggunakan httpS
Tapi Anda bisa melewati itu dengan menambahkan pengecualian:
sumber
Xcode 8.2, iOS 10
sumber
Perbarui Jawaban (setelah wwdc 2016):
App Transport Security, atau ATS, adalah fitur yang diperkenalkan Apple di iOS 9. Saat ATS diaktifkan, ini memaksa aplikasi untuk terhubung ke layanan web melalui koneksi HTTPS daripada HTTP yang tidak aman.
Namun, pengembang masih dapat menonaktifkan ATS dan mengizinkan aplikasi mereka mengirim data melalui koneksi HTTP seperti yang disebutkan dalam jawaban di atas. Di akhir tahun 2016, Apple akan mewajibkan ATS untuk semua pengembang yang ingin mengirimkan aplikasinya ke App Store. tautan
sumber
Ini akan memungkinkan Anda untuk terhubung ke .com .net .org
sumber
sumber
Untuk menjelaskan sedikit lebih banyak tentang jawaban ParaSara: Keamanan App Transport akan menjadi wajib dan mencoba menonaktifkannya dapat membuat aplikasi Anda ditolak.
Sebagai pengembang, Anda dapat menonaktifkan keamanan App Transport jika kode jaringan Anda tidak berfungsi dengannya, dan Anda ingin melanjutkan pengembangan lain sebelum memperbaiki masalah. Katakanlah dalam tim yang terdiri dari lima orang, empat orang dapat terus mengerjakan hal-hal lain sementara yang satu memperbaiki semua masalah. Anda juga dapat menonaktifkan keamanan App Transport sebagai alat debugging jika Anda memiliki masalah jaringan dan Anda ingin memeriksa apakah itu disebabkan oleh keamanan App Transport. Segera setelah Anda tahu, Anda harus segera menyalakannya kembali.
Solusi yang harus Anda lakukan gunakan di masa mendatang adalah tidak menggunakan http sama sekali, kecuali Anda menggunakan server pihak ketiga yang tidak mendukung https. Jika server Anda sendiri tidak mendukung https, Apple akan bermasalah dengan itu. Bahkan dengan server pihak ketiga, saya tidak berani bertaruh bahwa Apple menerimanya.
Sama dengan berbagai pemeriksaan keamanan server. Pada titik tertentu Apple hanya akan menerima pengecualian yang dapat dibenarkan.
Namun yang terpenting, pertimbangkan ini: Anda membahayakan privasi pelanggan Anda. Itu tidak-tidak besar dalam buku saya. Jangan lakukan itu. Perbaiki kode Anda, jangan meminta izin untuk menjalankan kode yang tidak aman.
sumber
Satu berita buruk bagi pengembang yang menggunakan NSAppTransportSecurity.
https://techcrunch.com/2016/06/14/apple-will-require-https-connections-for-ios-apps-by-the-end-of-2016/
sumber
Di baris perintah shell mac , gunakan perintah berikut:
Perintah tersebut akan menambahkan semua nilai yang diperlukan ke dalam file plist Anda.
sumber
XCODE 8, Swift 3: Anda perlu menambahkan baris: **
** di info.plist informasi dalam daftar properti.
sumber
Xcode 9.2, Swift 4, ini berfungsi untuk saya.
sumber