【发布时间】:2016-04-18 18:07:07
【问题描述】:
我在 Swift 框架中使用 CommonCrypto - 一年多来一直运行良好。
我使用了在这里找到的解决方案:Importing CommonCrypto in a Swift framework
具体来说,要从 Swift 框架中引用 CommonCrypto,我必须:
在我框架的 Xcode 项目旁边名为 CommonCrypto 的文件夹中创建一个 module.map 文件。 module.map内容:
module CommonCrypto [system]
{
header "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/CommonCrypto/CommonCrypto.h"
link "CommonCrypto"
export *
}
- 在我的框架项目的 Swift 导入路径中,我添加了
CommonCrypto - 在我的框架项目的库搜索路径中,我包括:
$(SDKROOT)/usr/lib/system - 在我的来源中,我包括:
import CommonCrypto
这很好用;有点令人费解 - 但它奏效了。
但是,在 Xcode 7.3 beta 1 (7D111g) 中,该技术不再有效。
libcommonCrypto.tbd 似乎已从 Xcode-beta.app 中的 $(SDKROOT)/usr/lib/system 中删除。而且我在 iPhoneOS SDK 文件夹结构下的任何地方都找不到它。
所以我得到了这些错误:
ld:警告:找不到选项的目录 '-L/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/usr/lib/system' ld:未找到用于架构 arm64 的 -lCommonCrypto 的库 clang: 错误:链接器命令失败,退出代码为 1(使用 -v 查看 调用)
如果疯狂的模块地图业务被更简单的东西取代,那就太好了。例如,只使用import CommonCrypto
无论如何,我不知道如何解决这个问题,因此非常感谢您的帮助。
如果解决方案与上一个问题中找到的解决方案有很大不同,我在这里提出一个新问题,尽管我知道这可能不合适。
【问题讨论】:
标签: frameworks swift2 xcode7 commoncrypto