Xcode 9.2:文件中缺少所需的架构 arm64 /......./libPaymentsSDK.a(2 片)

Xcode 9.2: missing required architecture arm64 in file /......../libPaymentsSDK.a (2 slices)

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

warning: ignoring file /Users/..../libPaymentsSDK.a, missing required architecture arm64 in file /Users/..../libPaymentsSDK.a (2 slices)

Undefined symbols for architecture arm64:
"_OBJC_CLASS_$_PGTransactionViewController", referenced from: objc-class-ref in SubscribeMagzineVC.o "_OBJC_CLASS_$_PGOrder", referenced from: objc-class-ref in SubscribeMagzineVC.o "_OBJC_CLASS_$_PGMerchantConfiguration", referenced from: objc-class-ref in SubscribeMagzineVC.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

Architectures in the fat file: /Users/.../libPaymentsSDK.a are: armv7 i386 x86_64 arm64

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

有切片
xcrun -sdk iphoneos lipo -info libPaymentsSDK.a

您基本上还需要在 arm64 支持下重建 libPaymentsSDK

我推荐的最好方法是将它与 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

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