Xcode 9.2:文件中缺少必需的体系结构arm64 /art/libPaymentsSDK.a(2个切片)

时间:2018-01-17 12:25:30

标签: ios objective-c xcode arm64 paytm

我正在将PayTm PayTm支付网关实施到我的应用中。在模拟器上它工作正常,但当我试图在设备上安装它时显示错误。 我正在分享错误详情,请提出一些解决方案

  

警告:忽略文件/Users/..../libPaymentsSDK.a,缺少必需的   文件中的架构arm64 /Users/..../libPaymentsSDK.a(2个切片)

     

架构arm64的未定义符号:
  " _OBJC_CLASS _ $ _ PGTransactionViewController",引自:         SubscribeMagzineVC.o中的objc-class-ref" _OBJC_CLASS _ $ _ PGOrder",引自:         SubscribeMagzineVC.o中的objc-class-ref" _OBJC_CLASS _ $ _ PGMerchantConfiguration",引自:         SubscribeMagzineVC.o中的objc-class-ref ld:找不到架构arm64 clang的符号:错误:链接器命令失败并退出   代码1(使用-v查看调用)

enter image description here

  

胖文件中的架构:/Users /.../libPaymentsSDK.a是:armv7   i386 x86_64 arm64

enter image description here

1 个答案:

答案 0 :(得分:3)

似乎libPaymentsSDK.a有2个切片,我猜他们是i386x86_64arm64可能不是其中之一,首先你可以检查哪些切片是通过运行

xcrun -sdk iphoneos lipo -info libPaymentsSDK.a

您基本上也需要使用libPaymentsSDK支持重建arm64

我建议的最佳方法是将它与Cocoapods集成到您的项目中,然后一切都将正确构建,如果您不想这样做,只需自己重建libPaymentsSDK但确保arm64存在

更简单的方法是使用SDK中找到的提供的here只需下载并用该文件替换旧文件

要使用lipo命令,只需打开terminal.app即可 找到libPaymentSDK.a文件的确切位置,你可以通过进入xcode,从左侧窗格中选择文件,然后在右侧窗格中看到文件检查器中的文件详细信息,只需复制它的路径即可。 ,它会是这样的:

/Users/myUsername/Projects/exampleAPP/myAppLibs/libPaymentSDK.a

然后,您只需将该路径添加到命令的末尾:

xcrun -sdk iphoneos lipo -info /Users/myUsername/Projects/exampleAPP/myAppLibs/libPaymentSDK.a

希望这能解决你的问题,祝你好运!