Das Erstellen eines Archivs für die XCode 4.6-Version mit phonegap v 2.9 schlägt fehl

Dies scheint eine immer wiederkehrende Phänomene.

Sah ich eine Reihe vor Fragen, bei denen die Lösung war das löschen armv6,
und dann das Archiv funktionieren würde. Natürlich armv6 ist Weg.

So, jetzt, Gebäude mit sowohl aktuellen, Xcode 4.6.3 phonegap 2.9.
Und ja, die app funktioniert auf iphones, ipads, und in den simulator.

Bekomme ich diese Meldung am Ende des create-archive Schritt:

    /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)

Auf und ging hinüber und sah sich in dem Datei-system:

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

Und seine gebaut worden, nur nicht dahin, wo der linker wollte, um es zu finden.

So, kein Zweifel, einige build-Einstellung weist den linker an, dort zu suchen, oder
erzählt das bauen, um es zu setzen, wo der linker will, um es zu finden.

Es sei denn, es ist etwas anderes.

Meine Frage ist, wie man das app-Archiv zu bauen
richtig, so kann es gehen aus dem laden.

Dank,
john


Ein feiner Mensch, der arbeitet bei Apple hat mir gesagt, wo Sie suchen, an welcher Stelle, diese wurde gelöst.

Tief in den Build-Einstellungen gibt es ein Feld gesetzt werden, als Andere Linker Flags

Es ausgeht, das zeigt kein Wert, aber wenn Sie darauf klicken, es öffnet sich, mit Debug und Release.

In der sehr langen string, der Release findet man ein -force_load libCordova.ein
und löscht einen Teil der Zeichenkette.

Aus:

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

:

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

Seinen wohl ein bug in irgendeiner Weise, dass phonegap Standardwerte diese an Ort und Stelle, ich werde
auch an Sie und sehen, ob es können die Standard-Reparatur.

Seinem Hinweis, dass wies mich an:

Ich feststellen, dass Ihre link-Befehl enthält:

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

und so:

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

Den Weg weitergegeben werden -force_load ist der falsche Weg, der linker beschweren. Ich denke, dass Sie brauchen, um die zu entfernen "-force_load" linker Flagge. Haben Sie ein flag in den "Other Linker Flags" - Einstellung?

InformationsquelleAutor der Frage lekash | 2013-06-27

Schreibe einen Kommentar