Ios 为Swift二进制框架启用模块稳定性时dyld崩溃
我正在尝试为我的二进制Swift框架启用模块稳定性 我的设置如下:Ios 为Swift二进制框架启用模块稳定性时dyld崩溃,ios,swift,xcode,Ios,Swift,Xcode,我正在尝试为我的二进制Swift框架启用模块稳定性 我的设置如下: 代码11.1 已启用“为分发版生成库”选项 我已经验证了输出的.framework确实在框架中包含了必要的.swiftinterface文件,因此理论上我认为它应该可以工作 但是,当我尝试从任何应用程序使用此框架时,dyld在启动时崩溃,并带有\uuuuuuuu abort\u和\uu有效负载 我在以下案例中尝试过这一点: 由Xcode编译的原始框架(.framework格式) lipod fat框架(.framework
- 代码11.1
- 已启用“为分发版生成库”选项
dyld
在启动时崩溃,并带有\uuuuuuuu abort\u和\uu有效负载
我在以下案例中尝试过这一点:
- 由Xcode编译的原始框架(.framework格式)
d fat框架(.framework格式)lipo
- 新的XCFramework(.XCFramework)格式
有什么建议吗?我已经找到了解决方法 正如WWDC谈话中所建议的(但不是非常清楚),似乎所有库依赖项都必须启用“为分发而构建库”构建设置 椰子荚 Cocoapods内置了对这一点的支持(或者说XCFramews),但是,通过将以下内容添加到应用程序的pod文件中,可以暂时改变这一点:
post_install do |installer|
installer.pods_project.targets.each do |target|
target.build_configurations.each do |config|
config.build_settings['BUILD_LIBRARY_FOR_DISTRIBUTION'] = 'YES'
end
end
end
这将确保为分发构建所有依赖项
迦太基
迦太基也支持模块稳定性。您需要传递自定义Xcode构建设置,以确保在运行迦太基构建
时,您的框架在构建时启用了“用于分发的构建库”:
我有一个类似的设置,通过Cocoapods集成。但是当我应用你的解决方案时,我得到一个编译器错误,在我构建的二进制框架的.swifterface文件中,
无法为
加载底层模块((你能帮助我使用迦太基吗?)我没有太多使用它,想为这个标志设置BUILD\u LIBRARY\u
echo 'BUILD_LIBRARY_FOR_DISTRIBUTION=YES'>/tmp/config.xcconfig; XCODE_XCCONFIG_FILE=/tmp/config.xcconfig carthage build; rm /tmp/config.xcconfig