4

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

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

架构 arm64 的未定义符号:
“_OBJC_CLASS_$_PGTransactionViewController”,引用自:SubscribeMagzineVC.o 中的 objc-class-ref “_OBJC_CLASS_$_PGOrder”,引用自:SubscribeMagzineVC.o “_OBJC_CLASS_$_PGMerchantConfiguration”中的objc-class-ref,引用自:SubscribeMagzineVC.o ld 中的 objc-class-ref:未找到架构 arm64 clang 的符号:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

在此处输入图像描述

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

在此处输入图像描述

4

1 回答 1

4

好像libPaymentsSDK.a有 2 个切片,我猜它们是i386and x86_64arm64可能不是其中之一,首先您可以通过运行检查哪些切片存在

xcrun -sdk iphoneos lipo -info libPaymentsSDK.a

您基本上也需要在支持下进行libPaymentsSDK重建arm64

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

一种更简单的方法是仅使用此处提供的 SDK 提供的一个,只需下载并用该文件替换旧的

要使用该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

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

于 2018-01-17T12:39:43.300 回答