0

我的 Xcode 项目导入了 MKStoreKit。我跟着这个。 http://blog.mugunthkumar.com/coding/using-mkstorekit-in-your-apps/ 但它有很多错误。

SFHFKeychainUtils.m ,ARC Casting Rules ,语义问题 ,ARC Restrictions

总共 39 个错误。

我链接了 StoreKit.framework、Security.framework。

- 我在应用程序 didFinishLaunchingWithOptions 中编写了这个初始化代码。初始化代码为[MKStoreManager sharedManager];

但是出现了错误。为什么?

4

1 回答 1

2

您需要对所有 MKStoreKit 文件(包括 JSONKit、SFHFKeychainUtils 和 NSData+Base64)禁用 ARC。详细信息在这篇文章中

禁用某些文件的自动引用计数

然后注释掉所有的错误信息行

/*
#if ! __has_feature(objc_arc)
#error MKStoreKit is ARC only. Either turn on ARC for the project or use -fobjc-arc flag
#endif
*/

这消除了此方法中的所有错误,但只有一个错误。但他只是忘记在 .h 中声明它

+(id) receiptForKey:(NSString*) key {

  NSData *receipt = [MKStoreManager objectForKey:key];
  if(!receipt)
    receipt = [MKStoreManager objectForKey:[NSString stringWithFormat:@"%@-receipt", key]];

  return receipt;               
}

在您的 .h 中添加这一行

+(id) objectForKey:(NSString*) key;

代码现在将编译。不知道它是否有效,但至少它可以编译。

于 2012-05-23T14:53:52.383 回答