1

我正在尝试从使用 transactionReceipt 切换到从 appStoreReceiptURL 返回的收据,如 Apple 的: Receipt Validation Programming Guide

然而,我一直在编译 asn1c 命令的输出。除了对头文件的大量倾斜引用之外,我不得不单独切换到引号,还有许多与 iOS 上显然不可用的功能相关的错误。它们似乎与finite() 函数和DEBUG 命令有关。这里有两个例子:

if(!finite(d)) { //solved with isfinite()

/* Debug output function */
static inline void
DEBUG(const char *fmt, ...) {
    va_list ap;
    if(!opt_debug) return;
    fprintf(stderr, "AD: ");
    va_start(ap, fmt);
    vfprintf(stderr, fmt, ap);
    va_end(ap);
    fprintf(stderr, "\n");
 }

我应该用什么代替它们?

4

1 回答 1

0

好的,我管理了整个过程:程序包括:

1) 将大多数 '<..>'includes 更改为 '"..."' (编译器给出提示) 2) 将函数 DEBUG 的名称更改为调试,提示“某事”将其变为:

void ASN_DEBUG_f(const char *fmt, ...);
void ASN_DEBUG_f(const char *fmt, ...) {
    va_list ap;
    va_start(ap, fmt);
    vfprintf(stderr, fmt, ap);
    fprintf(stderr, "\n");
    va_end(ap);
}

3) 最后删除包含另一个主函数的 sample.c 文件和两个 README 文件。

完成这些程序编译没有问题。

于 2014-12-27T10:08:29.163 回答