Проблемы с архивированием 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 до последней версии, все это произойдет автоматически, поскольку мы используем динамический фреймворк, который уже знает, какие зависимости ему требуются.

Другие вопросы по тегам