我正在用收据验证敲打头。
我处于验证证书是否有效并且需要解析ASN1文件的阶段。
苹果建议使用asn1c,例如:
#include "Payload.h" /* This header file is generated by asn1c. */
void *pld = NULL;
size_t pld_sz;
Payload_t *payload = NULL;
asn_dec_rval_t rval;
rval = asn_DEF_Payload.ber_decoder(NULL, &asn_DEF_Payload, (void **)&payload, pld, pld_sz, 0);
我已经从https://github.com/vlm/asn1c下载了asn1c-master.zip
现在,我不知道如何将这个库安装到Xcode中,如果我需要做一些额外的工作,还是可以在安装asn1c之后作为苹果示例开始?
感谢帮助。
编辑:
我按照安装文件中的指示进行操作:在asn1c-master文件中,我在终端中运行:
./configure
make
make check
make install
之后,我在单独的文件夹文件中创建receipt.asn1
并在其中添加以下文本:
ReceiptModule DEFINITIONS ::=
BEGIN
ReceiptAttribute ::= SEQUENCE {
type INTEGER,
version INTEGER,
value OCTET STRING
}
Payload ::= SET OF ReceiptAttribute
END
之后,我跑步
asn1c -fnative-types receipt.ans1
但是我直言不讳:
-fnative-types: Deprecated option
ASN.1 grammar parse error near line 1 (token "{"): syntax error, unexpected '{', expecting TOK_typereference or TOK_capitalreference
Cannot parse "receipt.asn1"
按照http://github.com/vlm/asn1c/blob/master/INSTALL中的说明进行操作之后
我在新目录(即Mac OS X文件夹)中执行以下操作:
# Terminal command line from: https://developer.apple.com/library/ios/releasenotes/General/ValidateAppStoreReceipt/Chapters/ValidateLocally.html#//apple_ref/doc/uid/TP40010573-CH1-SW3
asn1c -fnative-types receipt.ans1
# the file receipt.ans1 has contents from Listing 1-1 in the above URL
# converter-sample.c has a main. Don't want that!
rm converter-sample.c
rm Makefile.am.sample
然后,确保将生成的.c和.h文件拖到Xcode组中,不要将Mac文件夹直接放入项目中,否则,.c和.h文件将不会添加到项目中。因此,它们将无法构建,并且您会收到链接器错误
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句