在我正在开发的应用程序中(使用 Xcode 6.1,适用于 iOS 7 和 8),我使用Card IO来捕获信用卡信息并使用Braintree作为付款方式。当我包含Card IO iOS SDK以及由 Cocoapods 导入的Braintree iOS SDK时出现问题,我收到错误:
重复符号 _OBJC_CLASS_$_CardIOCreditCardInfo 在:/MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master .o) 重复符号 _OBJC_CLASS_$_CardIOPaymentViewController 在:/MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a- armv7-master.o) 重复符号 _OBJC_CLASS_$_CardIOView 在:/MyApp/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a -armv7-master.o) 重复符号 _OBJC_METACLASS_$_CardIOCreditCardInfo 在:/MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a( libCardIO.a-armv7-master。o) 重复符号 _OBJC_METACLASS_$_CardIOPaymentViewController 在:/MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7 -master.o) 重复符号 _OBJC_METACLASS_$_CardIOView 在:/MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO. a-armv7-master.o) ld:架构 armv7 clang 的 6 个重复符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)/MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master.o) ld:6 个重复架构 armv7 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)/MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master.o) ld:6 个重复架构 armv7 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
原来 Braintree 包含 Paypay SDK,其中已经包含 CardIO 的库。
我已经尝试1)删除(删除引用)CardIO文件夹中的libCardIO.a,APP可以构建和运行,但是CardIO的视图控制器和相机无法正常打开。
2)从 Braintree 中删除(删除参考)Paypal 文件夹,得到以下错误。
架构 armv7 的未定义符号:
“_OBJC_CLASS_$_BTPayPalButton”,引用自:libPods-Vinyo-2-Braintree.a(Braintree.o) 中的 objc-class-ref,引用自:objc-class-ref in libPods-Vinyo-2-Braintree.a(BTPaymentProvider.o)
"_OBJC_CLASS_$_BTPayPalAppSwitchHandler",引用自:libPods-Vinyo-2-Braintree.a(BTPaymentProvider.o) 中的objc-class-ref libPods 中的objc-class-ref -Vinyo-2-Braintree.a(Braintree.o) ld:未找到架构 armv7 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)
寻找一种可行且安全的方法来正确集成这两个 SDK 并使其工作。任何想法表示赞赏!先感谢您!