2013-06-27 16 views
24

Bu, yinelenen bir olay gibi görünüyor. XCode 4.6 sürümü için bir arşiv oluşturma phonegap v 2.9 başarısız olur

Ben çözüm ARMv6, silmek ve daha sonra arşiv çalışacak öncesinde bir dizi soru, gördük. Elbette, armv6 gitti.

Yani, şimdi, Xcode 4.6.3 PhoneGap 2.9, hem mevcut olan bina. Ve evet, uygulama iphones, ipads ve simülatörde çalışıyor.

Ben oluşturmak arşiv adımın sonunda bu mesaj çıktı:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch armv7s -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS6.1.sdk -L/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos -F/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos -filelist /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/peeq.build/Release-iphoneos/peeq.build/Objects-normal/armv7s/peeq.LinkFileList -dead_strip -weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -force_load /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a -ObjC -fobjc-link-runtime -miphoneos-version-min=5.0 -framework CoreLocation -framework ImageIO -framework OpenAL -framework AssetsLibrary /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a -framework Foundation -weak_framework UIKit -framework CoreGraphics -framework AddressBook -framework AddressBookUI -framework AudioToolbox -weak_framework AVFoundation -framework CFNetwork -framework MediaPlayer -framework QuartzCore -framework SystemConfiguration -framework MobileCoreServices -weak_framework CoreMedia -framework CoreLocation -o /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/peeq.build/Release-iphoneos/peeq.build/Objects-normal/armv7s/peeq 

ld: file not found: /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Ve gitti ve orada dosya sistemi etrafında baktı:

cd /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build 
./Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a 
./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/CordovaLib.build/Release-iphoneos/CordovaLib.build/Objects-normal/armv7/libCordova.a 
./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/CordovaLib.build/Release-iphoneos/CordovaLib.build/Objects-normal/armv7s/libCordova.a 
./Intermediates/ArchiveIntermediates/peeq/IntermediateBuildFilesPath/UninstalledProducts/libCordova.a 

Ve onun inşa edilmiş, sadece koyamazsınız linker onu bulmak istedi.

Bu nedenle, bazı yapılandırma ayarları, linker'a oraya bakmasını söyler veya , yapıcının linker'i bulmak istediği yere koymasını söyler. Başka onun şeye sürece

.

Sorum doğru inşa etmek uygulama arşivi almak için, bu yüzden mağazaya çıkmak nasıl olduğunu.

sayesinde john


Apple 'da çalışan bir ince kişi nereye bakacağını, bu noktada, bu çözüldü söyledi. Yapı Ayarlar derinliklerinde

, orada, ayarlanacak bir alandır Hiçbir değeri gösteren başlar, ancak bunun üzerine tıklarsanız, bu Debug ve Release ile açılır Diğer Bağlayıcı Flags

aradı.

Yayımlama olan çok uzun dizede, bir -force_load libCordova.a
bulur ve dizenin o kısmını siler.

Gönderen:

-weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -force_load ${TARGET_BUILD_DIR}/libCordova.a -ObjC 

için:

-weak_framework CoreFoundation -weak_framework UIKit -weak_framework AVFoundation -weak_framework CoreMedia -weak-lSystem -ObjC 

Onun PhoneGap varsayılan bu yerde, ben de onlarla temas ve bunu tamir varsayılan eğer göreceğimiz bazı moda muhtemelen bir hata .ona beni işaret

His not:

-force_load /Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/InstallationBuildProductsLocation/Applications/libCordova.a 

ve bu:: yol geçirilen

/Users/peeq/Library/Developer/Xcode/DerivedData/peeq-gylybvwifdxjmtajtbvdsdpjcvkl/Build/Intermediates/ArchiveIntermediates/peeq/BuildProductsPath/Release-iphoneos/libCordova.a 

-force_load için

Ben bağlantı komutu hem bu içerdiğini fark Bağlayıcının şikayet ettiği sahte yoldur. “-force_load” linker bayrağını kaldırmanız gerektiğini düşünüyorum. “Diğer Linker Bayrakları” ayarında böyle bir bayrak ayarınız var mı?

+0

Aynı sorunu yaşıyor ve çözdüm, en azından projem için. Cevabımı buraya göz atın: http://stackoverflow.com/a/17455264/2183674 –

+0

FYI, XCode 5.1.1 ve PhoneGap 3.1 ile aynı şeyi aldık. Benim yorumumla dibindeki düzeltme, bizim için işe yarayan şeydi. – ganders

cevap

79

Bir düzeltme bulundu. senin Hedef Oluşturma Ayarları

  1. , Other Linker Flags
  2. Değişim $(TARGET_BUILD_DIR)/libCordova.a
  3. O var
+4

Hızlı ve kolay. Teşekkürler. – pasine

+0

Teşekkürler, sorunu çözdü! (LibCordova.a sorunlarının eski açıklamalarına koşturulmuştu ...) – Koniak

+4

TEŞEKKÜR EDERİZ !!! Neden cordova her zaman bu sorun var .. her ne zaman xcode sürümü ve evey phonegap sürümü sadece baş ağrısı! TEŞEKKÜR EDERİM!! – Francesco

4

$(BUILT_PRODUCTS_DIR)/libCordova.a için bulmak does not içinde bana "$ (BUILT_PRODUCTS_DIR) /libCordova.a" geçmek için çalışmalar "Diğer Linker Bayrakları". Sorun hala var. (Xcode 4.6.3 phonegap 2.9.0)

Aşağıdaki ayarı deniyorum ve benim için çalışıyor. senin Hedef Oluşturma Ayarları

  1. , "Diğer Bağlayıcı Flags"
  2. Sil "$ (TARGET_BUILD_DIR) /libCordova.a"
  3. Değiştir "-force_load" "-all_load"
bulmak

Bu benim için hile yaptı.

yukarıdaki hile ile ======== Güncelleme ============

, ben app ulaşmak ve hiçbir sorunla App Store'a gönderebilirsiniz. Ama iTune Connect'te "Geçersiz ikili" gösterildiğini öğrendim.

+0

+1 benim için çalıştı! –

+0

Teşekkürler, bu benim için çalıştı :) –

+0

Awesome !!!!!!!!! – ganders

İlgili konular