Benim 2 sent buraya (daha az korkutucu bir şekilde :-) ekleyeceğim. Frameworks
Apple tarafından belgelendiği gibi dizine onları ekleyerek (bazı nedenlerden dolayı) normal şekilde çalışmaz satıcıları yağ şişeleri oldukça sayıda karşılaştım . Onlara işi yapmak mümkün olmuştur tek yolu çekerek olan .framekwork
proje dizine sağ ve bağlama Embedded Frameworks
ve Link Binary with Libraries
Yapı Ayarlar elle. Bu herhangi bir sorun olmadan işe yaramış gibi görünüyor, ancak herhangi bir yağ kütüphanesinde olduğu gibi yabancı Simülatör Mimarileri i386
ile x86_64
birlikte geliyorlar vearm
mimarileri .
Yağ kütüphanesindeki mimarileri kontrol etmenin hızlı bir yolu
$ cd 'Project_dir/Project'
$ lipo -info 'YourLibrary.framework/YourLibExec`
Hangi çıktıyı böyle bir şey tükürmeli
Architectures in the fat file: YourLibrary.framework/YourLibExec are: i386 x86_64 armv7 arm64
Bu, "yağı azaltmanız" gerektiğini (yani i386
&x86_64
, iTunesConnect Archival yüklemesinden önce bu mimarilere izin vermeyen (iOS için desteklenmediği için) ) çerçevenizden .
Şimdi, tüm cevaplar (veya cevapların en azından bir kısmı), bu harika Run Scriptlerini gerçekten iyi çalıştığından eminim, ancak sadece Çerçeveniz Frameworks
dizinde bulunuyorsa. Eğer bir kabuk senaryosu bağımlısı değilseniz, modifikasyonları olmayan bu senaryolar, yukarıda açıkladığım senaryo için çalışmaz. Ancak, i386
& x86_64
mimarilerden çerçeveden kurtulmanın çok basit bir yolu var .
Projenizin dizinindeki terminali açın.
Doğrudan içine Değişim dizin .framekwork
gibi
cd YourProjectDir/YourProject/YourLibrary.framework
Komut serilerini aşağıda gösterildiği gibi çalıştırın.
$ mv YourLibrary YourLibrary_all_archs
$ lipo -remove x86_64 YourLibrary_all_archs -o YourLibrary_some_archs
$ lipo -remove i386 YourLibrary_some_archs -o YourLibrary
$ rm YourLibrary_all_archs YourLibrary_some_archs
Burada dikkat edilmesi gereken birkaç şey - lipo -remove
her mimarinin kaldırılması için bir kez yapılması gerekir. lipo
girdi dosyasını değiştirmez, yalnızca bir dosya oluşturur, bu nedenle ve lipo -remove
için bir kez çalıştırmanız gerekir . Yukarıdaki komutlar bunu önce çalıştırılabilir dosyayı yeniden adlandırarak ve ardından istenen kemerleri kaldırarak ve ardından soldaki dosyaları temizleyerek yapıyor. İşte bu kadar, şimdi iTunesConnect'e Uygulama Yükleyici Arşivi yüklemesinde yeşil bir onay işareti görmelisiniz.x86_64
i386
Akılda tutulması gerekenler: Yukarıdaki adımlar sadece üretim inşa edilirken yapılmalıdır, çünkü .framework
simülatör mimarilerinden arındırılacak, simülatörler üzerine inşalar çalışmayı durduracaktır (beklenen). Geliştirme ortamında, .framework
hem Simülatörde hem de fiziksel bir cihazda test yapabilmek istediğiniz için mimarileri dosyadan ayırmaya gerek yoktur. Yağ kütüphaneniz Frameworks
projedeki klasörde bulunuyorsa, lütfen kabul edilen cevaba bakın.