Проблемы с архивированием iOS проекта: libz.dylib не найден
У меня проблемы при создании архива из (устаревшего) проекта iOS. При архивировании я получаю следующую ошибку:
Libtool /Users/appcell/Library/Developer/Xcode/DerivedData/elho-ctuevlyyxtyssvblxkqezbfgdtyq/Build/Intermediates/ArchiveIntermediates/Elho/IntermediateBuildFilesPath/PSPDFKit-lib.build/Release-iphoneos/PSPDFKit.build/Objects-normal/armv7/libPSPDFKit.a normal armv7
cd /Users/appcell/Documents/Projects/Elho/Libraries/PSPDFKit
export IPHONEOS_DEPLOYMENT_TARGET=5.0
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool -static -arch_only armv7 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk -L/Users/appcell/Library/Developer/Xcode/DerivedData/elho-ctuevlyyxtyssvblxkqezbfgdtyq/Build/Intermediates/ArchiveIntermediates/Elho/BuildProductsPath/Release-iphoneos -filelist /Users/appcell/Library/Developer/Xcode/DerivedData/elho-ctuevlyyxtyssvblxkqezbfgdtyq/Build/Intermediates/ArchiveIntermediates/Elho/IntermediateBuildFilesPath/PSPDFKit-lib.build/Release-iphoneos/PSPDFKit.build/Objects-normal/armv7/PSPDFKit.LinkFileList /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libz.dylib -framework AssetsLibrary -framework CoreMedia -framework AVFoundation -framework ImageIO -framework MediaPlayer -framework CoreText -framework CoreGraphics -weak_framework UIKit -framework MessageUI -framework QuartzCore -framework Foundation -o /Users/appcell/Library/Developer/Xcode/DerivedData/elho-ctuevlyyxtyssvblxkqezbfgdtyq/Build/Intermediates/ArchiveIntermediates/Elho/IntermediateBuildFilesPath/PSPDFKit-lib.build/Release-iphoneos/PSPDFKit.build/Objects-normal/armv7/libPSPDFKit.a
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: can't open file: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libz.dylib (No such file or directory)
Когда я создаю ссылку с /usr/lib/libz.dylib
подать в /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib
(который раньше работал), теперь я получаю следующую ошибку:
ld: warning: ignoring file /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libz.dylib, missing required architecture armv7 in file /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/libz.dylib (2 slices)
Undefined symbols for architecture armv7:
"_deflateInit_", referenced from:
-[NSData(PSPDFCompression) pspdf_zlibDeflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_deflate", referenced from:
-[ASIDataCompressor compressBytes:length:error:shouldFinish:] in ASIDataCompressor.o
-[NSData(PSPDFCompression) pspdf_zlibDeflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_deflateInit2_", referenced from:
-[ASIDataCompressor setupStream] in ASIDataCompressor.o
"_inflate", referenced from:
_unzReadCurrentFile in unzip.o
-[ASIDataDecompressor uncompressBytes:length:error:] in ASIDataDecompressor.o
-[NSData(PSPDFCompression) pspdf_zlibInflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_get_crc_table", referenced from:
_unzOpenCurrentFile3 in unzip.o
"_inflateEnd", referenced from:
_unzCloseCurrentFile in unzip.o
-[ASIDataDecompressor closeStream] in ASIDataDecompressor.o
-[NSData(PSPDFCompression) pspdf_zlibInflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_crc32", referenced from:
_unzReadCurrentFile in unzip.o
"_inflateInit_", referenced from:
-[NSData(PSPDFCompression) pspdf_zlibInflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_deflateEnd", referenced from:
-[ASIDataCompressor closeStream] in ASIDataCompressor.o
-[NSData(PSPDFCompression) pspdf_zlibDeflate] in libPSPDFKit.a(NSData+PSPDFCompression.o)
"_inflateInit2_", referenced from:
_unzOpenCurrentFile3 in unzip.o
-[ASIDataDecompressor setupStream] in ASIDataDecompressor.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
У кого-нибудь когда-нибудь были такие же проблемы?
1 ответ
PSPDFKit основатель здесь. Наш PDF SDK использует libz, так что либо ссылку с libz.dylib
(который был переименован в более поздних версиях Xcode, чтобы быть libz.tbd
) или добавьте флаг компоновщика -lz
который должен сделать свое дело.
Если вы обновите наш SDK до последней версии, все это произойдет автоматически, поскольку мы используем динамический фреймворк, который уже знает, какие зависимости ему требуются.