使用Xcode 6,我们可以创建自己的Dynamic Cocoa Frameworks.

因为:
模拟器仍然使用32-bit库
从2015年6月1日开始,提交到App Store的应用更新必须包含64位支持,并使用iOS 8 SDK(developer.apple.com)构建
我们必须使胖库在设备和模拟器上运行项目.即支持Frameworks中的32位和64位.
但我没有找到任何手册,如何导出通用胖框架以便将来与其他项目集成(并与某人共享此库).
设置ONLY_ACTIVE_ARCH=NO在Build Settings

支持添加armv7 armv7s arm64 i386 x86_64至Architectures(肯定)


但最终我仍然遇到在设备和模拟器上同时使用此框架运行项目的问题.
如果我从Debug-iphoneos文件夹中获取框架- 它适用于设备并在模拟器上获取错误:ld: symbol(s) not found for architecture i386
xcrun lipo -info CoreActionSheetPicker
Run Code Online (Sandbox Code Playgroud)
胖文件中的体系结构:CoreActionSheetPicker是:armv7 armv7s arm64
如果我从Debug-iphonesimulator文件夹中获取框架- 它适用于模拟器.我在设备上有错误:ld: symbol(s) not found for architecture arm64
xcrun lipo -info CoreActionSheetPicker
Run Code Online (Sandbox Code Playgroud)
胖文件中的体系结构:CoreActionSheetPicker是:i386 x86_64
这个答案与Xcode 6 iOS …
我正在尝试为iOS应用程序制作动态框架.感谢新版本的Xcode(6),我们可以在创建新项目时选择Cocoa Touch Framework,不再需要添加聚合目标,运行脚本等等.构建框架时我没有问题.但是当我尝试在iOS应用程序中使用它时,我遇到了一些架构问题.
ld: warning: ignoring file /Library/Frameworks/MyFramework.framework/MyFramework, file was built for x86_64 which is not the architecture being linked (arm64): /Library/Frameworks/MyFramework.framework/MyFramework
Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_MyFrameworkWebService", referenced from:
objc-class-ref in AppDelegate.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ld: warning: ignoring file /Library/Frameworks/MyFramework.framework/MyFramework, file was built for x86_64 which is not the architecture being linked (armv7): /Library/Frameworks/MyFramework.framework/MyFramework
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_MyFrameworkWebService", referenced …Run Code Online (Sandbox Code Playgroud) 嗨,大家好我正在尝试为Enterprise分发应用程序,并继续收到此错误(选择配置文件后):
挖掘日志揭示了这一点:
2018-09-21 04:14:07 +0000 Running /usr/bin/codesign '-vvv' '--force' '--sign' '2D44419C65EF2B7301F0646133CC88C2C6A3E697' '--entitlements' '/var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/entitlementsycy5yP' '--preserve-metadata=identifier,flags,runtime' '/var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework'
2018-09-21 04:14:07 +0000 /var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework: replacing existing signature
2018-09-21 04:14:07 +0000 /var/folders/xj/stm8l48s1nq9320sfh3ytw140000gn/T/XcodeDistPipeline.IsE/Root/Payload/Fleet UAT.app/Frameworks/AppAuth.framework: code object is not signed at all
2018-09-21 04:14:07 +0000 /usr/bin/codesign exited with 1
类似的问题发生在项目使用的所有框架上.使用Carthage添加了这些框架.
这在我升级到Xcode 10和Carthage 0.30.1之后开始发生(之前我使用的是0.16.x).
出于某种原因,我在xcode(第三方SDK)中导入了一些文件,即使应用程序构建成功,我也会收到此错误:Xcode错误消息:"无法检查应用程序包".这是什么意思?该应用程序不在真实设备上运行,但适用于模拟器IOS ...