我在Swift框架中使用CommonCrypto - 它已经运行了一年多。
我使用了这里找到的解决方案:Importing CommonCrypto in a Swift framework
具体来说,为了从Swift框架引用CommonCrypto,我不得不:
在我的框架的Xcode项目旁边的名为module.map
的文件夹中创建一个CommonCrypto
文件。 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 *
}
CommonCrypto
$(SDKROOT)/usr/lib/system
import CommonCrypto
这很好用;有点复杂 - 但它确实有效。
然而,在Xcode 7.3 beta 1(7D111g)中,这种技术不再适用。
似乎已从Xcode-beta.app中的libcommonCrypto.tbd
中删除$(SDKROOT)/usr/lib/system
。我无法在iPhoneOS SDK文件夹结构下的任何地方找到它。
所以我得到了这些错误:
ld:警告:找不到选项的目录 ' -L /应用/ Xcode-beta.app /内容/开发商/平台/ iPhoneOS.platform /开发商/软件开发工具包/ iPhoneOS9.3.sdk / usr / lib中/系统' ld:为架构arm64 clang找不到-lCommonCrypto的库: 错误:链接器命令失败,退出代码为1(使用-v查看 调用)
如果疯狂的模块地图业务被更简单的东西取代,那将是很棒的。例如,仅使用import CommonCrypto
无论如何,我不知道如何解决这个问题,所以我们非常感谢您的帮助。
如果解决方案与前一个问题中找到的解决方案大不相同,我在此问这是一个新问题,尽管我很欣赏这可能不合适。
答案 0 :(得分:0)
看起来解决方案是删除该行:
link "CommonCrypto"
来自module.map文件的。