使用 Swift 编写 Framework 在不同 Xcode 上使用报错

使用 Xcode 7.2.1 编译好的的一个 Framework 在引入 Xcode7.3 时. 加载动态库报错

控制台打印错误如下:

dyld: Symbol not found: __TMPdCSs18_HeapBufferStorage
Referenced from: /Users/JianBo/Library/Developer/CoreSimulator/Devices/2B3EDF81-8ACA-4B05-8254-29071C69B0C3/data/Containers/Bundle/Application/CBFB3894-E59B-4DB6-8DA6-D95C6C7213C7/IMDemo.app/Frameworks/ETILinkSDK.framework/ETILinkSDK
  Expected in: /Users/JianBo/Library/Developer/CoreSimulator/Devices/2B3EDF81-8ACA-4B05-8254-29071C69B0C3/data/Containers/Bundle/Application/CBFB3894-E59B-4DB6-8DA6-D95C6C7213C7/IMDemo.app/Frameworks/libswiftCore.dylib
 in /Users/JianBo/Library/Developer/CoreSimulator/Devices/2B3EDF81-8ACA-4B05-8254-29071C69B0C3/data/Containers/Bundle/Application/CBFB3894-E59B-4DB6-8DA6-D95C6C7213C7/IMDemo.app/Frameworks/ETILinkSDK.framework/ETILinkSDK

但, 如果使用 Xcode7.3 编译这个Framework, 在引入工程后, 则不会报错. 但这个 Framework 却不能适用 Xcode 7.2.1

所以, 求助各位大牛. 有没有方法可以让编译出的的这个 Framework 支持多个 Xcode 版本?

阅读 4.9k
1 个回答

Swift语言还没有实现ABI稳定,不同版本的二进制文件不完全兼容,现在没有办法做到让编译出的 Framework 支持多个 Xcode 版本

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进