tai*_*lec 12 xcode cocoa-touch objective-c ios swift
我有一个带有2个架构片的胖静态库(armv7,arm64).我正在尝试使用swift并将其包装到Cocoa Touch Framework中.
我所做的:
OTHER_LDFLAGS为-all_load ONLY_ACTIVE_ARCH为NO VALID_ARCHS并ARCHS以armv7和arm64 当我把这个.framework放到我的swift项目中时,在我的目标常规设置中添加嵌入式二进制文件部分,导入框架并使用其中一个类,我得到undefined symbols for architecture arm64或者undefined symbols for architecture armv7.
编辑:
不确定它是否有帮助,但我注意到静态库的大小约为34MB,但生成的.framework的大小约为12MB.
编辑2:
我nm -arch arm64 -g myLibraryName在静态库和生成的动态库上运行.动态库不包含静态库具有的所有符号.看起来像XCode构建过程剥离了很多.
我想你也忘记添加:
项目->目标->构建阶段->将二进制文件与库链接:添加+:libz.dylib或libz.tbd
(自 Xcode 7 起,*.dylib文件是now *.tbd文件)
请务必清理该文件夹:/User/yourname/Library/Developer/XCode/DerivedData
PS:如果您愿意,您还应该能够通过添加参数 -lz在构建设置中添加“其他链接器标志”libz.tbd。
| 归档时间: |
|
| 查看次数: |
2011 次 |
| 最近记录: |