微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Xcode 5中安装asn1c库,以便在ios7中进行收据验证

我正在敲打收据验证.

我正处于验证证书是否有效的阶段,我需要解析ASN1文件.

Apple建议使用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之后作为苹果示例开始?

感谢帮助.

编辑:

我按照INSTALL文件中的指示执行操作:
在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文件将不会添加到项目中.因此,它们不会构建,您将获得链接错误

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐