【问题标题】:iOS Security.framework arm64 architecture issueiOS Security.framework arm64 架构问题
【发布时间】:2019-03-28 19:30:54
【问题描述】:

我正在尝试在 iOS 11.4 下的 iPhone 6 设备上编译应用程序。

这个应用程序使用我自己为架构 armv7 和 arm64 编译的框架(通过 lipo -info 确认)并针对 iOS8+。

在这个框架中,我使用 iOS 的 Security.framework 中的 kSecImportExportPassphraseSecPKCS12ImportkSecImportItemIdentity

当我在 Xcode 10.2 中编译时,我得到了这个错误:

如果有人知道发生了什么?

这就像 Security.framework 不是为 arm64 编译的,这是完全不可能的。

问候。

【问题讨论】:

    标签: ios xcode frameworks arm64 security.framework


    【解决方案1】:

    有几件事可以尝试:

    1. 为项目中的每个目标(包括 Pod 中的每个目标)设置 Architectures 为 armv7 armv7s,Build Active Architecture Only 为 NO:

    ARCHS = armv7 armv7s

    VALID_ARCHS = armv6 armv7 armv7s arm64

    1. 清理项目,关闭 Xcode,然后在 ~/Library/Developer/Xcode/DerivedData/ 中找到您的应用程序并将其移至垃圾箱然后清空。

    【讨论】:

    • 艾伦您好,感谢您的回复。我试过你的解决方案。它仍然无法正常工作,但这次我有相同的错误消息,但针对 armv7 架构。
    • 由于 Apple 现在要求所有部署都支持 64 位,让我们尝试其他方法。在ARCHSVALID_ARCHS 中删除除arm64 之外的所有内容。并将Build Active Architecture Only 设置为YES
    • 和以前一样的问题。我已将 ARCHSVALID_ARCHS 中的 arm64 设置为 Build Active Architecture Only,并将我的框架和应用程序设置为 YES
    • 我还有一个想法:从“链接框架和库”中检查框架的位置。验证它是否指向框架的 SDK 版本,而不是其他位置。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多