我们的应用程序崩溃的报告在昨晚开始泛滥。许多升级到 7.0.3 的用户在启动时应用程序崩溃。分析 iTunes 崩溃日志,这是由于应用程序因启动时间过长而被杀死。显然,检查可用应用内购买的调用是导致崩溃的原因。我们从销售中删除了所有应用内购买,现在用户报告该应用正在运行。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// earlier stuff...
[self requestProductData]; // ask for in-app purchase localized prices/names
[[SKPaymentQueue defaultQueue] addTransactionObserver:self]; // process any pending transactions
// more stuff...
}
- (void) requestProductData
{
NSMutableSet * prodSet = [[[NSMutableSet alloc] initWithCapacity:10] autorelease];
StoreItem * curStoreItem;
for(int j=0; j<[storeArr count]; j++) {
curStoreItem = [storeArr objectAtIndex:j];
[prodSet addObject:curStoreItem.productID];
}
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers:prodSet];
request.delegate = self;
[request start];
}
在 didFinishLaunchingWithOptions 中,我们调用请求产品数据。我们需要在另一个线程中执行此操作吗?还有谁有相同的问题吗?