Hallo :),
ich habe ein paar Probleme eine universal static Library in mein Project einzufügen. Und zwar habe ich mir ein Projekt angelegt als Library und habe dort zwei Klassen erstellt mit jeweils zwei Testmethoden. Nun habe ich die Library für IOSdevices und für den Simulator kompiliert. Sobald dies geschehen ist, kann man im Projektnavigator unter dem Ordner Products die library anklicken und sie sich im Finder anzeigen lassen. Dort werden dann jeweils einmal Ein Ordner mit der library für den Simulator und einmal für die devices Angezeigt.
Nun habe ich mit Hilfe eines Tutorials von der Website raywenderlich.com/41377/creati…c-library-in-ios-tutorial um daraus eine Universal library zu kreieren, damit man alles in einer Datei hat. Nun kann ich diese meinem Projekt zwar hinzufügen und wenn ich den Simulator ohne die 64bit nehme funktioniert auch alles. Jedoch gibt er mir immer Fehler, wenn ich versuche die App auf dem 64bit Simulator laufen zu lassen.
Folgende Fehler gibt er mir aus:
Alles anzeigen
Womöglich liegt dies daran, das bei dem Skript:
Alles anzeigen
das Command für das kompilieren der 64bit library fehlt!? Ich vermute jedoch, das ich unter den Projekteinstellungen->zum selbst angelegten Target(UniversalLib->Build Settings->Architectures die 64bit Architektur für den Simulator hinzufügen muss!?
Bin ich so ungefähr auf dem reichtigen Pfad oder völlig verkehrt mit der Fehlversuche ?
Bin sehr dankbar über eure Hilfe.
Gruß Rocks360
ich habe ein paar Probleme eine universal static Library in mein Project einzufügen. Und zwar habe ich mir ein Projekt angelegt als Library und habe dort zwei Klassen erstellt mit jeweils zwei Testmethoden. Nun habe ich die Library für IOSdevices und für den Simulator kompiliert. Sobald dies geschehen ist, kann man im Projektnavigator unter dem Ordner Products die library anklicken und sie sich im Finder anzeigen lassen. Dort werden dann jeweils einmal Ein Ordner mit der library für den Simulator und einmal für die devices Angezeigt.
Nun habe ich mit Hilfe eines Tutorials von der Website raywenderlich.com/41377/creati…c-library-in-ios-tutorial um daraus eine Universal library zu kreieren, damit man alles in einer Datei hat. Nun kann ich diese meinem Projekt zwar hinzufügen und wenn ich den Simulator ohne die 64bit nehme funktioniert auch alles. Jedoch gibt er mir immer Fehler, wenn ich versuche die App auf dem 64bit Simulator laufen zu lassen.
Folgende Fehler gibt er mir aus:
Quellcode
-
- ld: warning: ignoring file /Users/SomeUser/Library/Developer/Xcode/DerivedData/lokataDBConnection-frueqaenmrdtrdckiccpopmqicjp/Build/Products/Debug-iphonesimulator/liblokataDBConnection.a, file was built for archive which is not the architecture being linked (x86_64): /Users/SomeUser/Library/Developer/Xcode/DerivedData/lokataDBConnection-frueqaenmrdtrdckiccpopmqicjp/Build/Products/Debug-iphonesimulator/liblokataDBConnection.a
- Undefined symbols for architecture x86_64:
- "_OBJC_CLASS_$_Connection", referenced from:
- objc-class-ref in LoginViewController.o
- ld: symbol(s) not found for architecture x86_64
- clang: error: linker command failed with exit code 1 (use -v to see invocation)
Womöglich liegt dies daran, das bei dem Skript:
Quellcode
- # define output folder environment variable
- UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal
- # Step 1. Build Device and Simulator versions
- xcodebuild -target ImageFilters ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
- xcodebuild -target ImageFilters -configuration ${CONFIGURATION} -sdk iphonesimulator -arch i386 BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}"
- # make sure the output directory exists
- mkdir -p "${UNIVERSAL_OUTPUTFOLDER}"
- # Step 2. Create universal binary file using lipo
- lipo -create -output "${UNIVERSAL_OUTPUTFOLDER}/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${PROJECT_NAME}.a" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${PROJECT_NAME}.a"
- # Last touch. copy the header files. Just for convenience
- cp -R "${BUILD_DIR}/${CONFIGURATION}-iphoneos/include" "${UNIVERSAL_OUTPUTFOLDER}/"
das Command für das kompilieren der 64bit library fehlt!? Ich vermute jedoch, das ich unter den Projekteinstellungen->zum selbst angelegten Target(UniversalLib->Build Settings->Architectures die 64bit Architektur für den Simulator hinzufügen muss!?
Bin ich so ungefähr auf dem reichtigen Pfad oder völlig verkehrt mit der Fehlversuche ?
Bin sehr dankbar über eure Hilfe.

Gruß Rocks360