在我的iPhone應用程序,我已經設置了一個應用程序內購買。我開始喜歡這個請求:在應用購買響應永遠不會來
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject: @"com.nicknoble.tiprounder.upgrade"]];
request.delegate = self;
[request start];
而且我用這個方法來得到響應:
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSLog(@"response recieved");
}
而這一次捕獲錯誤:
-(void)request:(SKRequest *)request didFailWithError:(NSError *)error
{
NSLog(@"%@",error.description);
}
但無論是曾經得到調用。我的項目沒有警告或錯誤,我在我的設備(iPhone)上運行。有什麼建議麼?
編輯:
所以我的工作窗口的根視圖控制器上,但不能在模態視圖控制器我提出。下面是我的主視圖控制器代碼:
TestViewController *testView = [[TestViewController alloc] initWithNibName:@"TestViewController" bundle:nil];
[self presentModalViewController:testView animated:YES];
這裏是TestViewController .h文件:
#import <UIKit/UIKit.h>
#import <StoreKit/StoreKit.h>
@interface TestViewController : UIViewController <SKProductsRequestDelegate>
@end
這裏是我的.m文件代碼:
#import "TestViewController.h"
@implementation TestViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObject: @"com.nicknoble.tiprounder.upgrade"]];
request.delegate = self;
[request start];
}
-(void)request:(SKRequest *)request didFailWithError:(NSError *)error
{
NSLog(@"%@",error.description);
}
- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response
{
NSLog(@"response recieved");
}
@end
我很絕望。任何幫助將是偉大的!謝謝!
產品標識符完美匹配,並且使用ARC進行即時通訊。我的代碼中沒有任何版本或autoreleases。 – user1007895
嗯...也許一些更多類的代碼可能會啓發問題.. – samfisher
我認爲這是我的項目中唯一真正與此相關的代碼。你能更具體地說明什麼可能有幫助嗎? – user1007895