【问题标题】:dyld: Symbol not found: _kABPersonAddressCityKey XCODE 8 issuedyld:找不到符号:_kABPersonAddressCityKey XCODE 8 问题
【发布时间】:2016-09-14 08:29:14
【问题描述】:

嗨,我的代码在 xcode 7.x.x 中完美运行

一旦我更新了我的 xcode,我就遇到了这个问题,请给我解决方案。

详情:

dyld:未找到符号:_kABPersonAddressCityKey 引用自: /var/containers/Bundle/Application/0A16B18D-CB72-4FCA-94F7-422AFD1411AD/ABCD.app/ABCD 预期在:/System/Library/Frameworks/PassKit.framework/PassKit 中 /var/containers/Bundle/Application/0A16B18D-CB72-4FCA-94F7-422AFD1411AD/ABCD.app/ABCD

【问题讨论】:

    标签: ios xcode8


    【解决方案1】:

    PassKit.framework 添加到您的Build Phases 中的Link Binary With Libraries,并将其Status 设置为Optional

    【讨论】:

    • 有人能解释为什么这是必要的吗?据我了解,PassKit 是一个系统框架,应该已经存在于所有 iOS 设备上,因此不需要链接它。
    • 这没有用。我在xCode 8.3.3 中也发生了同样的错误
    【解决方案2】:

    有两件事可以解决您的问题:

    1- 打开您的目标 -> 构建阶段 -> 将二进制文件与库链接 -> 添加 AddressBook.framework

    2- AddressBook 框架在 iOS 9 中已被弃用。如果您在 Xcode 8 上编译代码并在 iOS 9 或更低版本的设备上运行,您的应用显然会崩溃。

    我建议迁移到联系人框架和/或在 iOS 10 上构建时使用不包含 AddressBook 框架代码的预处理器宏。

    来源:https://github.com/OceanLabs/iOS-Print-SDK/issues/257

    【讨论】:

      【解决方案3】:

      Paul Senabre 的解决方案对我有用,谢谢,谢谢,谢谢!这让我发疯了!

      添加 PassKit.framework 解决了问题,但请确保为所有目标添加它!添加它时,它只会影响您当前的目标。顺便说一句,我的目标为 iOS-8 的应用程序在 Xcode-8 中的 iOS-10 上运行良好,但会在 iOS-10 之前的任何内容上崩溃。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-23
        • 2020-08-14
        • 2014-09-15
        • 2017-01-22
        • 2020-12-27
        • 1970-01-01
        • 1970-01-01
        • 2019-06-03
        相关资源
        最近更新 更多