- 環境Xcode 13.2.1
- error 1:Target Integrity(目標完整) -- Building for iOS Simulator, but the linked and embedded framework 'DynamicSDK.framework' was built for iOS + iOS Simulator.
- error 2:Building for iOS Simulator, but linking in dylib built for iOS, file '“path”/testdynamic1/Frameworks/DynamicSDK.framework/DynamicSDK' for architecture arm64
導入動態庫
創建文件夾,導入動態庫。在項目根目錄創建文件夾建議命名為Frameworks,把打包好的動態庫導入。
- 啟動項目,選擇Target
- 選擇General
- Frameworks、Libraries庫導入欄“+”,Add Others到剛才添加到文件夾里的動態庫,選擇動態庫“open”
- 會在項目中根錄生成虛擬Frameworks文件夾(即為什么剛才建議命名Frameworks文件夾原因)
根目錄創建文件Frameworks,并添加動態庫導入動態庫至項目中
Error1:Building for iOS Simulator, but the linked and embedded framework 'DynamicSDK.framework' was built for iOS + iOS Simulator.
“${SRCROOT}”/testdynamic1.xcodeproj Building for iOS Simulator, but the linked and embedded framework 'DynamicSDK.framework' was built for iOS + iOS Simulator.
編譯 文件.xcodeproj Error
validate workspace
Summary
If enabled, perform validation checks on the workspace configuration as part of the build process.
如果啟用,請在生成過程中對工作區配置執行驗證檢查。
修改驗證workspace
編譯后報錯成警告
(如果使用Xcode12及以后版本(本例使用Xcode13.2.1),出現Error 2,可修復后)
build_error_waring
validate_workspace 修改回默認值NO,黃色警告解除
Error 2:Building for iOS Simulator, but linking in dylib built for iOS, file '“${SRCROOT}”/testdynamic1/Frameworks/DynamicSDK.framework/DynamicSDK' for architecture arm64
此也可解決合并模擬器、真機包出錯。都存在arm64,舍去其一,編譯的包就不包含arm64.
1.原因
由于xcode12開始,模擬器支持arm64,如果動態庫支持模擬器和真機時(真機也支持arm64),一般會模擬器的包會設置不會支持arm64。現在在模擬器運行,就會報該錯誤信息
Building for iOS Simulator, but linking in dylib built for iOS, file '“${ SRCROOT}”/testdynamic1/Frameworks/DynamicSDK.framework/DynamicSDK' for architecture arm64
編譯成功。