Xcode6 Erstellen einer statischen Fettbibliothek iOS Universal Framework

Seit dem Upgrade auf Xcode und iOS8 habe ich Probleme beim Erstellen einer fetten statischen Bibliothek. Es gibt einige ziemlich gute AnweisungenHie undHie aber ich denke, Teile der ersten Anweisungen und alle der zweiten Anweisungen sind datiert. Die ersten Anweisungen sagen, @ zu verwendStatic iOS Framework und die zweite Anweisung sagt @ zu benutzCocoa Touch Static Library. Vor Xcode6 würde ich das @ verwendStatic iOS Framework aber jetzt, wo sie es in @ umbenannt habCocoa Touch Framework Ich bin mir nicht sicher

So, für den Anfang, was soll ich verwenden, um ein @ zu erstellfat statische Bibliothek? Ist esCocoa Touch Framework? OderCocoa Touch Static Library?

Dann erstelle ich ein neues Sammelziel:

Dann erstelle ich ein Run Script:

Hier ist das von mir verwendete Ausführungsskript (in seiner Gesamtheit):

# This script is based on Jacob Van Order's answer on apple dev forums 

https://devforums.apple.com/message/971277
# See also http://spin.atomicobject.com/2011/12/13/building-a-universal-framework-for-ios/ for the start


# To get this to work with a Xcode 6 Cocoa Touch Framework, create Framework
# Then create a new Aggregate Target. Throw this script into a Build Script Phrase on the Aggregate


######################
# Options
######################

REVEAL_ARCHIVE_IN_FINDER=true

FRAMEWORK_NAME="${PROJECT_NAME}"

SIMULATOR_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${FRAMEWORK_NAME}.framework"

DEVICE_LIBRARY_PATH="${BUILD_DIR}/${CONFIGURATION}-iphoneos/${FRAMEWORK_NAME}.framework"

UNIVERSAL_LIBRARY_DIR="${BUILD_DIR}/${CONFIGURATION}-iphoneuniversal"

FRAMEWORK="${UNIVERSAL_LIBRARY_DIR}/${FRAMEWORK_NAME}.framework"


######################
# Build Frameworks
######################

xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphonesimulator -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphonesimulator | echo

xcodebuild -project ${PROJECT_NAME}.xcodeproj -sdk iphoneos -target ${PROJECT_NAME} -configuration ${CONFIGURATION} clean build CONFIGURATION_BUILD_DIR=${BUILD_DIR}/${CONFIGURATION}-iphoneos | echo

#xcodebuild -target ${PROJECT_NAME} ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos  BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" | echo

#xcodebuild -target ${PROJECT_NAME} ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator  BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" | echo


######################
# Create directory for universal
######################

rm -rf "${UNIVERSAL_LIBRARY_DIR}"

mkdir "${UNIVERSAL_LIBRARY_DIR}"

mkdir "${FRAMEWORK}"


######################
# Copy files Framework
######################

cp -r "${DEVICE_LIBRARY_PATH}/." "${FRAMEWORK}"


######################
# Make fat universal binary
######################

lipo "${SIMULATOR_LIBRARY_PATH}/${FRAMEWORK_NAME}" "${DEVICE_LIBRARY_PATH}/${FRAMEWORK_NAME}" -create -output "${FRAMEWORK}/${FRAMEWORK_NAME}" | echo


######################
# On Release, copy the result to desktop folder
######################

if [ "${CONFIGURATION}" == "Release" ]; then
mkdir "${HOME}/Desktop/${FRAMEWORK_NAME}-${CONFIGURATION}-iphoneuniversal/"
cp -r "${FRAMEWORK}" "${HOME}/Desktop/${FRAMEWORK_NAME}-${CONFIGURATION}-iphoneuniversal/"
fi


######################
# If needed, open the Framework folder
######################

if [ ${REVEAL_ARCHIVE_IN_FINDER} = true ]; then
if [ "${CONFIGURATION}" == "Release" ]; then
open "${HOME}/Desktop/${FRAMEWORK_NAME}-${CONFIGURATION}-iphoneuniversal/"
else
open "${UNIVERSAL_LIBRARY_DIR}/"
fi
fi

Aber wenn ich versuche zu bauen erhalte ich diese Nachricht:

fatal error: lipo: can't open input file: /Users/pdl/Library/Developer/Xcode/DerivedData/innerIDMobileLicense-blnxjfvoxnqfelftmzojgdwhvazk/Build/Products/Debug-iphonesimulator/innerIDMobileLicense.framework/innerIDMobileLicense (No such file or directory)

Das stimmt, die Datei ist nicht da! Beachten Sie, dass sich im ersten Bild unten eine ausführbare Unix-Datei befindet IdAirOpenCv. Dann schau dir das zweite Bild an und bemerke, dass IdAirOpenCv ist nicht da.

Das ist, was ich vor dem Upgrade gewohnt bin:

Das ist was ich jetzt habe:

Entsprechend dem Skript ist die Unix Executable File innerIDMobileLicense sollte sich in allen drei Framework-Ordnern auf derselben Ebene befinden wie die Ordner "Header" und "Module".

Hat jemand eine Ahnung, was ich falsch mache?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage