Öncelikle Merhaba Arkadaşlar,
Jenkins, TeamCity gibi araçları kullanıyorsanız iOS’ta biliyorsunuz ki komut satırı üzerinden yeni paketler çıkarılıyor. Bunu çıkarmanın aslında türlü türlü yolu var. XCode 8.1 ile birlikte Apple Code Signing Resource Rules Path özelliğini build info kısmından kaldırdı ve artık buraya müdahale edemiyoruz ve XCode build işlemini komut satırından başlattığımızda aşağıdaki türden hatalar almaktayız.
1 2 3 4 5 6 |
error: /usr/bin/codesign --force --preserve-metadata=identifier,entitlements,resource-rules \ --sign iPhone Distribution: Sehmus Gokce \ --resource-rules=.../Payload/iOSApp.app/ResourceRules.plist \ --entitlements .../entitlements_plistGGqmBdeffvdU \ /var/folders/.../Payload/iOSApp.app failed with error 1. Output: Warning: usage of --preserve-metadata with option "resource-rules" (deprecated in Mac OS X >= 10.10)! |
Bu sorunu çözmenin belki en doğru değil ama etkili yolundan bahsetmek istiyorum. Araştırmalarım sonucu bir çok insanın bu şekilde sorunu çözdüğünü gördüm. Öncelikle XCode’un kendi paketindeki PackageApplication scriptine müdahale etmemiz gerekiyor. Bunun için
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/PackageApplication
adresinde bulunan PackageApplication scriptini yönetici olarak favori editörünüzde açın ve
1 2 3 |
my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements,resource-rules", "--sign", $opt{sign}, "--resource-rules=$destApp/ResourceRules.plist"); |
kısmını tamamen silin ve yerine
1 2 |
my @codesign_args = ("/usr/bin/codesign", "--force", "--preserve-metadata=identifier,entitlements", "--sign", $opt{sign}); |
perl scriptini ekleyin. Ardından paketleme işlemini tekrarlayın. Sorun çözülecektir 🙂
Bol sorunsuz günler.