gpt4 book ai didi

swift3 - Swift 框架构建对于设备失败,但对于模拟器则失败

转载 作者:行者123 更新时间:2023-12-02 05:51:22 26 4
gpt4 key购买 nike

你知道为什么模拟器的构建会成功,但设备却不会成功吗?

我创建了一个 Cocoa 框架,并能够将其添加到新的单页应用程序项目中,并调用框架中定义的方法。只要我选择模拟器而不是设备作为构建目标,该项目就会构建。我没有尝试过运行它,只是构建。我正在使用 Swift 3 和 XCode 8.1。

我收到使用未解析的标识符错误。

最佳答案

你应该创建一个胖库:要制作一个胖库,请逐步执行以下操作:

1 - 为 iOS 模拟器构建 Freemework 目标,并从桌面上的产品文件夹中提取框架。

2 - 将框架重命名为 yourFrameworkName-sim.framework 以便稍后区分。

3 - 对于 iOS 设备,重复步骤 1 和 2。您可以选择“通用 iOS 设备”。不要忘记将框架重命名为 yourFrameworkName-dev.framework。

4 - 使用以下命令将两个二进制文件合并为一个胖二进制文件(确保运行此命令时您位于桌面上)。

$lipo -create ./yourFrameworkName-sim.framework/yourFrameworkName ./yourFrameworkName-dev.framework/yourFrameworkName -output ./yourFrameworkName

5 - 复制在上述步骤中创建的Framework二进制文件,并将其替换为您的FrameworkName-dev.framework文件夹中的二进制文件。

6 - 打开同一文件夹中包含的“Info.plist”文件。

7 - 在“CFBundleSupportedPlatforms”数组中添加“iPhoneSimulator”字符串。

8 - 最终的 plist 文件如下所示:

enter image description here

9 - 来自文件夹:

yourFrameworkName-sim.framework/Modules/yourFrameworkName.swiftmodule/

复制“x86_64.swiftdoc”和“x86_64.swiftmodule”并将它们粘贴到

yourFrameworkName-dev.framework/Modules/yourFrameworkName.swiftmodule/

10 - 通过执行上述步骤,您已将 yourFrameworkName-dev.framework 从仅设备转换为通用 fat 框架。将其重命名为 yourFrameworkName.framework。

11 - 通过 Xcode 中的“嵌入式二进制文件”选项包含此框架。将模块导入到您的文件中,您就可以成功编译它。

关于swift3 - Swift 框架构建对于设备失败,但对于模拟器则失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40516568/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com