アプリ購入でアプリケーションを開発しました。次のコードがあります... ViewController.m ファイルの butoon1Clicked メソッドで callInAppPurchases です。実際にボタンを初めてクリックすると、アプリ内購入を実行したいと思います。トランザクションが成功した場合、次のクリックからいくつかのアクションを実行したい (たとえば、NSLog ステートメントを指定した) プログラムのどこに NSLog stmt (または任意のコード) を記述して、クリックしたときにアクションを実行する必要があるかトランザクションが成功した後のボタン。私がどこに書かなければならないかを教えてください。または任意のプロセスで説明してください。BOOL値で処理したいと思っていましたが、BOOL値をYES / NOとして設定する必要がある場所を知ることができません。説明してください... MyStoreObserver.m ファイルは、アプリ内購入トランザクションを行います。
ViewController.m
-(IBAction)button1Clicked:(id)sender
{
[self callInAppPurchase];
NSLoG(@"Perform Some Action");
}
#pragma mark-In-AppPurchase code from here
-(void)callInAppPurchase
{
if ([SKPaymentQueue canMakePayments])
{
// Display a store to the user.
}
}
AppDelegate.h
#import <UIKit/UIKit.h>
#import "MyStoreAbserver.h"
@interface iTeach_MathsAppDelegate : NSObject <UIApplicationDelegate>
{
BOOL isPurchased,isFailed;
}
@property (nonatomic, readwrite) BOOL isPurchased,isFailed;
@property (nonatomic, retain) IBOutlet UIWindow *window;
AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions
{
MyStoreAbserver *observer = [[MyStoreAbserver alloc] init];
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];
if([[[NSUserDefaults standardUserDefaults] objectForKey:@"isPurchased"] isEqualToString:@"true"])
self.isPurchased = YES;
else
isPurchased = NO;
isFailed = NO;
// Override point for customization after application launch.
[self.window makeKeyAndVisible];
return YES;
}