gpt4 book ai didi

ios - Braintree iOS SDK 与 Card I/O iOS SDK 冲突 : duplicate symbols for architecture armv7

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:39 24 4
gpt4 key购买 nike

在我正在开发的应用程序中(使用 Xcode 6.1,适用于 iOS 7 和 8),我正在使用 Card IO捕获信用卡信息并使用Braintree作为付款方式。当我包含 Card IO iOS SDK 时会出现问题, 连同 Braintree iOS SDK这是 Cocoapods 导入的,我得到了错误:

duplicate symbol _OBJC_CLASS_$_CardIOCreditCardInfo in: /MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master.o) duplicate symbol _OBJC_CLASS_$_CardIOPaymentViewController in: /MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master.o) duplicate symbol _OBJC_CLASS_$_CardIOView in: /MyApp/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master.o) duplicate symbol _OBJC_METACLASS_$_CardIOCreditCardInfo in: /MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master.o) duplicate symbol _OBJC_METACLASS_$_CardIOPaymentViewController in: /MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master.o) duplicate symbol _OBJC_METACLASS_$_CardIOView in: /MyApp/Pods/Braintree/Braintree/PayPal/mSDK/libPayPalMobile.a(libCardIO.a-armv7-master.o) /MyApp/CardIO/libCardIO.a(libCardIO.a-armv7-master.o) ld: 6 duplicate symbols for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

原来 Braintree 包含 Paypay SDK,它已经包含了 CardIO 的库。

我试过了1)删除(remove reference)CardIO文件夹下的libCardIO.a,APP可以编译运行,但是无法正常打开CardIO的view controller和camera。
2) 从 Braintree 中删除(删除引用)Paypal 文件夹,出现以下错误。

Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_BTPayPalButton", referenced from: objc-class-ref in libPods-Vinyo-2-Braintree.a(Braintree.o) "_OBJC_CLASS_$_BTPayPalViewController", referenced from: objc-class-ref in libPods-Vinyo-2-Braintree.a(BTPaymentProvider.o)
"_OBJC_CLASS_$_BTPayPalAppSwitchHandler", referenced from: objc-class-ref in libPods-Vinyo-2-Braintree.a(BTPaymentProvider.o) objc-class-ref in libPods-Vinyo-2-Braintree.a(Braintree.o) ld: symbol(s) not found for architecture armv7 clang: error: linker command failed with exit code 1 (use -v to see invocation)

寻找一种可行且安全的方法来正确集成这两个 SDK 并使其正常工作。任何想法表示赞赏!提前致谢!

最佳答案

Dave 来自 card.io。

您的第一种方法是正确的。根据您目前提供的信息,我不确定为什么它对您不起作用。

请参阅https://github.com/braintree/braintree_ios/issues/53#issuecomment-58379403一些具体的建议。

(再过一两周,这应该会变得更容易,因为正确的 card.io header 将包含在 Braintree iOS SDK 中。)

关于ios - Braintree iOS SDK 与 Card I/O iOS SDK 冲突 : duplicate symbols for architecture armv7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26549224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com