【发布时间】:2016-04-20 07:39:47
【问题描述】:
我有一个 iOS 组件,它依赖于 Stripe iOS SDK,项目 A。我在 Xcode 的项目 A 中包含了 Stripe SDK,它编译得很好。
但是,我在 Xcode 中构建了另一个依赖此组件的项目,项目 B。我将项目 A 添加到项目 B 的库中。项目 A 依赖项目 B,但不直接依赖 Stripe SDK。
现在,每当我尝试编译项目 B 时,都会收到此错误:
ld: framework not found Stripe for architecture x86_64
这一行(在项目 A 内)似乎触发了错误:
#import <Stripe/Stripe.h>
Xcode 可以轻松找到Stripe.h。我也尝试将 Stripe SDK 直接添加到项目 B 中。我已经对所有目标的 Build Phases -> Link Binary With Libraries 部分进行了两次和三次检查(列出了Stripe.framework)。
我手动添加了 Stripe 框架,所以我也尝试使用 Cocoapods 来添加它,但这也没有用。
请帮忙!
这是项目 B(“示例”)的项目结构,下面是项目 A(“RCTFBLogin”)。
这是完整的错误:
我使用的是 Xcode 7.2 和最新版本的 Stripe SDK (6.0.0)。相同的 Stripe 框架代码在另一个项目中运行良好。
谢谢。
更新:我将“$(SRCROOT)/../..”(因为项目 B 位于项目 A 深处的两个文件夹中)添加到项目 B 目标的构建设置 ->“搜索路径”下的“框架搜索路径”中,并且它开始成功编译。但是,我现在在运行时收到此错误:
ld: warning: Auto-Linking supplied '/Users/rettig/wip/react-native-facebook-login.2/Stripe.framework/Stripe', framework linker option at /Users/rettig/wip/react-native-facebook-login.2/Stripe.framework/Stripe is not a dylib
Undefined symbols for architecture x86_64:
"_OBJC_CLASS_$_Stripe", referenced from:
objc-class-ref in libRCTFBLogin.a(RCTFBLogin.o)
ld: symbol(s) not found for architecture x86_64
【问题讨论】:
标签: ios objective-c xcode xcode7 stripe-payments