Baru saja ditingkatkan ke Xcode 6.1 hari ini, dan coba tebak: Sekarang saya mengalami kesulitan mengirimkan bangunan menggunakan aplikasi desktop TestFlight. Inilah kesalahan yang saya dapatkan saat aplikasi mulai membangun IPA:
galat: / usr / bin / codesign --force --preserve-metadata = pengidentifikasi, hak, aturan sumber daya --sign 854059d45eed724593debef577a562e1ba96ab55 --resource-rules = / tmp / QYFSJIvu7W / Payload / XX.app / ResourceRules.plist / tpl / source /QYFSJIvu7W/Payload/XX.app gagal dengan kesalahan 1. Output: Peringatan: penggunaan --preserve-metadata dengan opsi "resource-rules" (usang di Mac OS X> = 10.10)! Peringatan: - aturan sumber daya telah usang di Mac OS X> = 10.10! /tmp/QYFSJIvu7W/Payload/XX.app/ResourceRules.plist: tidak dapat membaca sumber daya
'Artikel Pendukung' tidak tahu apa yang sedang terjadi.
Tampaknya tidak menjadi masalah TestFlight karena hal yang sama terjadi di lingkungan CI seperti Jenkins menggunakan xcrun atau alat serupa.
Aplikasi ini tidak diperbarui selama berbulan-bulan, jadi saya tahu bahwa saya seharusnya tidak mengharapkan pembaruan apa pun untuk memperbaikinya dalam waktu dekat. Dulu bekerja dengan sangat baik untuk saya dan klien saya, jadi saya tidak terlalu ingin meninggalkannya untuk hal lain juga.
Ada ide untuk kesalahan ini, dan bagaimana cara memperbaikinya akan sangat dihargai.
sumber
xcrun -sdk iphoneos PackageApplication -v <Path_to_App> -o <Path_to_IPA> --sign <Distribution_certificate> --embed <Provisioning_profile>
. Dengan Xcode 6.0.1, semuanya bekerja dengan baik.Jawaban:
Saya berharap saya tahu mengapa itu bekerja, tapi di sini ada perbaikan yang bekerja untuk saya:
sumber
Code Signing Resource Rules Path
di Pengaturan Bangun saya. Ada ide?Patch berikut untuk PackageApplications memperbaikinya untuk saya, saya menghapus aturan sumber daya karena dikatakan sudah usang pada 10.10.
Testflight membangun kerja tanpanya. Appstore juga dibuat.
sumber
Saya mengirim email dukungan TestFlight dan mendapat respons ini:
Solusi yang disarankan berhasil.
sumber
The jawaban oleh Tim Gostony tidak lagi bekerja sejak rilis Xcode 7. Sekarang proses pengajuan App Store gagal ketika aturan sumber daya yang hadir. Solusinya adalah dengan menghapus Jalur Aturan Penandatanganan Kode Sumber Daya Anda dan ganti xcrun dengan alat xcodebuild:
Options.plist yang paling sederhana untuk mengekspor file ipa distribusi ad-hoc terlihat seperti ini:
Ada opsi lain yang tersedia untuk file plist ini mengenai bitcode, penipisan aplikasi, dll. Itulah mengapa saya pikir alat xcodebuild adalah alat yang tepat untuk mengekspor file ipa untuk iOS 9 ke atas.
Rincian lebih lanjut tentang opsi plist tersedia dengan perintah xcodebuild -help.
sumber
Pada Yosemite w / XCode 6.4 bahkan menggunakan patch SDKROOT, codesigning gagal. Artikel berikut menjelaskan cara menambal skrip XCode untuk menyiasati ini. Perhatikan bahwa ini adalah menambal XCode, jadi ini adalah versi spesifik, tetapi memperbaiki masalahnya.
http://www.jayway.com/2015/05/21/fixing-your-ios-build-scripts
sumber
The jawaban dari Alistra bekerja untuk saya, tapi saya tidak ingin mengubah script yang bukan milikku (rilis Xcode masa depan mungkin mengubah file ini dan koreksi akan hilang).
Saya pikir jawaban dari Vladimir Grigorov adalah yang terbaik jika Anda memiliki arsip menggunakan:
Dalam kasus saya, saya tidak memiliki arsip, karena saya memodifikasi aplikasi setelah membangunnya dan saya perlu mengubah Bundle Id dan menandatangani sertifikat.
Solusi yang saya temukan adalah menelepon
codesign
diri sendiri sebelum digunakanPackageApplication
dan memintaPackageApplication
untuk tidak menandatangani. Seperti ini :Jangan lupa untuk menyematkan
.mobileprovision
file yang digunakan untuk masukcp
.sumber
Seperti yang ditentukan dalam jawaban lain , Anda juga bisa tidak menentukan sertifikat distribusi untuk ditandatangani dan itu akan paket dengan benar. TestFlight perlu memperbarui aplikasi mereka untuk melakukan ini.
sumber