objective-c - 为什么我的简单 objective-c 桥接头无法找到文件 "BraintreeCore.h"?

标签 objective-c swift braintree bridging-header

这真的让我很沮丧。我之前已经将 Braintree 库集成到了几个 iOS 项目中,以便在 swift 中使用,并且从未真正遇到过问题,但目前我无法让它工作。

我一遍又一遍地遵循/重复此处的说明:

https://developers.braintreepayments.com/start/hello-client/ios/v4

具体来说,我将 pod 'Braintree' 放入我的 Podfile 中,运行 pod 安装和 pod 更新,并验证 Braintree 库现在出现在 Pods 目录中。

我现在也重新制作了 3 次桥接头,小心地将目标设置为我的应用程序。我还一遍又一遍地验证,我已将“build设置”中的 Objective C 桥接 header 设置为正确的文件,并成功地为其他 Objective C 文件创建桥接 header 。遗憾的是,以下几行在桥接 header 中不起作用:

#import "BraintreeCore.h"
#import "BraintreeUI.h"

它们都给出相同类型的编译错误,表示未找到 BraintreeCore.h 文件。

我能够执行以下操作而不会出现错误:

#import "Pods/Braintree/BraintreeCore/Public/BraintreeCore.h"

但是当我尝试对 BraintreeUI.h 执行相同操作时,如下所示:

#import "Pods/Braintree/BraintreeUI/Public/BraintreeUI.h"

它将我链接到 BraintreeUI.h 文件,并告诉我在 BraintreeUI.h 文件中找不到有关此行的“BraintreeCore/BraintreeCore.h”文件:

#import <BraintreeCore/BraintreeCore.h>

我做错了什么?这应该很简单,但它已经让我恼火了 12 个多小时了。

最佳答案

全面披露:我在 Braintree 从事 iOS SDK 工作。

您的桥接 header 不需要您指定伞形 header 文件的路径。这可能表明您的 Xcode 项目的构建配置已设置为 Xcode 的构建系统无法找到头文件。在典型的项目中,您应该能够毫无问题地做到这一点。

我的建议是仔细查看项目> build设置> 搜索路径设置。特别是,标题搜索路径设置应包含一个如下所示的条目:

“${PODS_ROOT}/Headers/Public/Braintree”

如果没有,我怀疑 CocoaPods 与您的 Xcode 项目配合得不好。您可能想尝试取消集成并重新集成。使用 CocoaPods 1.0,您应该能够执行 pod deintegrate,确保您的 Pods/ 文件夹已删除,然后运行 ​​pod install。最坏的情况可能是,您可能只想从一个全新的 Xcode 项目开始,然后拖动旧的源文件(尽管这可能会很痛苦)。

关于objective-c - 为什么我的简单 objective-c 桥接头无法找到文件 "BraintreeCore.h"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38625105/

相关文章:

iphone - 如何在 Google 日历 API v3 中获取特定日期的日历数据?

swift - 为 Apple Pay 请求添加默认账单联系人

ios - Collection View 内的 TableView

Braintree - 通过订阅传递自定义数据

braintree - 使用 Dropin UI 在 BrainTree 中复制随机数

ios - 如何使用 Objective-C 在 ios 9 中调用带有条件的 json

objective-c - iOS8 + Apple的KeychainItemWrapper导致崩溃

objective-c - 将 UILabel 的文本设置为 int?

swift - 一起使用 Timer 和 ScrollView 的奇怪错误或问题

ios - Braintree:在沙盒模式下创建或更新具有 CVV 验证的客户时出现授权错误