在Cocoa Touch Framework中包装静态库
我有一个胖的静态库,有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:如果你想你也应该能够添加libz.tbd通过添加参数-lz从构建设置 “其它链接器标记”。 
