0

私の Xcode プロジェクトは MKStoreKit をインポートしました。そして、私はこれに従いました。 http://blog.mugunthkumar.com/coding/using-mkstorekit-in-your-apps/ しかし、多くのエラーがあります。

SFHFKeychainUtils.m 、ARC キャスティング ルール、セマンティックの問題、ARC の制限

合計 39 のバグ。

StoreKit.framework,Security.framework をリンクしました。

-アプリケーション didFinishLaunchingWithOptions でこの初期化コードを記述します。初期化コードは [MKStoreManager sharedManager];

しかし、バグが表示されます。なんで?

4

1 に答える 1

2

JSONKit、SFHFKeychainUtils、および NSData+Base64 を含むすべての MKStoreKit ファイルで ARC を無効にする必要があります。詳細はこちらの投稿

一部のファイルの自動参照カウントを無効にする

次に、すべてのエラー メッセージ行をコメント アウトします。

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

これにより、このメソッドのエラーが 1 つを除いてすべて取り除かれます。しかし、彼はそれを .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 に答える