Я прочитал несколько руководств и руководств о том, как создать XCode универсальную библиотеку. В основном вы добавляете совокупную цель с фазой сборки сценария bash для создания отдельных целей и липо их вместе.Фаза построения универсальной библиотеки XCode - Lipo не может найти файлы
У меня есть свой собственный небольшой скрипт (который работает из-за того, как я назвал свои цели), но по какой-то причине липо не может найти файлы;
fatal error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't open input file: /Users/username/Projects/project/plugins/build/Release-iphoneos/libproject-plugins.a /Users/username/Projects/project/plugins/build/Release-macos/libproject-plugins.a (No such file or directory)
Однако, когда я
- Выполнить ту же самую команду Липо сразу после неудачной сборки, все работает и файлы найдены.
- Добавить логику bash в моем скрипте, чтобы дождаться создания файла, проблема сохраняется.
- Замените
lipo
в моем скрипте простымls
, файлы есть.
Так что я не уверен, что пошло не так, похоже, что xcodebuild
создает файлы только после того, как называется липо (как я думал).
Сценарий;
targets=$(xcodebuild -list | sed -n '/Targets/,/^$/p' | grep -v -e 'Targets:\|all\|^$')
target_results=""
for target in $targets; do
xcodebuild ${ACTION} -target $target -configuration ${CONFIGURATION}
target_results="$target_results ${PROJECT_DIR}/build/${CONFIGURATION}-$target/libproject-plugins.a"
done
xcrun lipo -create "$target_results" -o "${PROJECT_DIR}/plugins-universal.a"