XCode 9:RMAppReceipt 中架构 arm64 的未定义符号

问题描述 投票:0回答:1

我正在使用 RMAppReceipt 来验证我的应用程序内的应用程序购买,这一切在更新到 XCode 9 之前都运行良好。我将 RMAppReceipt.h 、 RMAppReceipt.m 、 RMAppStoreReceiptVerifier.h 和 RMAppStoreReceiptVerifier.m 文件添加到我的项目中https://github.com/robotmedia/RMStore/wiki/Receipt-verification#adding-openssl 页面与“OpenSSL-Universal”窗格一起进行说明。

这一切在 XCode 8.3 中运行良好,但在将我的代码更新到 ProjectNameUITests 文件夹中的 Swift 4.0 后,我现在遇到以下错误:

Apple Mach-O 链接器 (Id) 错误:

Undefined symbols for architecture arm64:
"_X509_STORE_add_cert", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_ASN1_get_object", referenced from:
  +[RMAppReceipt enumerateASN1Attributes:length:usingBlock:] in RMAppReceipt.o
  _RMASN1ReadInteger in RMAppReceipt.o
  _RMASN1ReadOctectString in RMAppReceipt.o
  _RMASN1ReadString in RMAppReceipt.o
"_BIO_new", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_X509_free", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_d2i_X509", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_d2i_PKCS7_fp", referenced from:
  +[RMAppReceipt dataFromPCKS7Path:] in RMAppReceipt.o
"_PKCS7_verify", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_X509_STORE_free", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_BIO_free", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_EVP_cleanup", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_X509_STORE_new", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_OBJ_obj2nid", referenced from:
  +[RMAppReceipt dataFromPCKS7Path:] in RMAppReceipt.o
"_BIO_s_mem", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_OpenSSL_add_all_digests", referenced from:
  +[RMAppReceipt verifyPCKS7:withCertificateData:] in RMAppReceipt.o
"_PKCS7_free", referenced from:
  +[RMAppReceipt dataFromPCKS7Path:] in RMAppReceipt.o
"_SHA1", referenced from:
  -[RMAppReceipt verifyReceiptHash] in RMAppReceipt.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
ios xcode openssl in-app-purchase arm64
1个回答
0
投票

为我工作:

Project > Build Settings > Search: 'Header Search Paths'

删除:

$(PROJECT_DIR)/openssl-1.0.1e/include
$(PROJECT_DIR)/openssl-1.0.1e/lib

插入:

"${PODS_CONFIGURATION_BUILD_DIR}/RMStore/RMStore.framework/Headers"
© www.soinside.com 2019 - 2024. All rights reserved.