Ne yapmanız gereken sadece ayarlanır ONLY_ACTIVE_ARCH
için NO
(benim için en azından işler). Aşağıda bunun için bir ekran görüntüsü var:
DÜZENLE:
Gibi bildiğim kadarıyla ( bir şey yanlış, teşekkürler varsa bunu işaret lütfen ayarladığınız takdirde,) ONLY_ACTIVE_ARCH
için YES
, bu Xcode sadece (şu anda Xcode etkin olan cihaza belirtir) aktif mimarisi inşa edecek demektir. Xcode'un varsayılan ayarında Hata Ayıkla olarak ayarlandığından YES
, yalnızca Mac'inize bağlı özel bir cihaz için oluşturmak istediğinizde diğer mimariler için ikili dosyalar oluşturmaz.
Oluşturulmamasının nedeni, projenin bağladığınız cihazın mimarisini desteklememesi olabilir. Bu yüzden en iyi çözüm, cihazınız için doğru mimariyi eklemektir. Aşağıda mimarileri ve destekleyen cihazların bir listesi bulunmaktadır:
- ARMv8 / ARM64:
iPhone 6
, iPhone 5s
, iPad Air
,Retina iPad Mini
- ARMv7s:
iPhone 5
, iPhone 5c
,iPad 4
- ARMv7:
iPhone 3GS
, iPhone 4
, iPhone 4S
, iPod 3G/4G/5G
, iPad
, iPad 2
, iPad 3
,iPad Mini
- ARMv6:
iPhone
, iPhone 3G
,iPod 1G/2G
Peki neden "set ONLY_ACTIVE_ARCH
için NO
" işler? Çünkü cihaz, eklediğiniz tüm mimariler için oluşturulan ikili dosyayı çalıştırabilir (derlemeyi geçebilir), ancak bazı performanslarını kaybedecektir. Bu sadece hızlı bir çözüm, ama en iyisi değil.
Not : Ne kadar çok mimari eklerseniz, ikili dosya o kadar büyük oluşturulur. Bu yüzden projeniz için doğru mimarileri seçmek iyidir. ;)