相关疑难解决方法(0)

在应用程序购买之后,应用程序在启动时崩溃.产品识别=无?

我有一些用户报告说,在尝试购买应用程序后,该应用程序现在在启动时崩溃.我已要求他们删除并重新安装尚未运行的应用程序,并试图让他们进入飞行模式以停止任何无效的网络通信.

我无法在我的设备上复制错误,我的应用程序购买在沙箱和生产模式中完成得很好.我的想法是,他们的事务以某种方式收到了一个nil productIdentifier,导致启动崩溃,但我不确定在app启动时调用哪些事务观察器方法,我可以为他们解决问题.

有没有办法"清除"事务队列或在启动时测试nil productidentifier并允许这些用户至少再次运行应用程序?我已经使用下面的代码完成了几百个应用内购买,而这最近刚开始发生.在app启动时调用哪个辅助方法?

在AppDelegate.m中

[[SKPaymentQueue defaultQueue] addTransactionObserver:[MovieClockIAPHelper sharedHelper]];
Run Code Online (Sandbox Code Playgroud)

在app帮助程序代码中:

- (id)initWithProductIdentifiers:(NSSet *)productIdentifiers {
    if ((self = [super init])) {

        // Store product identifiers
        _productIdentifiers = [productIdentifiers retain];

        // Check for previously purchased products

        NSMutableSet * purchasedProducts = [NSMutableSet set];
        for (NSString * productIdentifier in _productIdentifiers) {

            BOOL productPurchased = [[NSUserDefaults standardUserDefaults] boolForKey:productIdentifier];

            if (productPurchased) {
                [purchasedProducts addObject:productIdentifier];
                NSLog(@"Previously purchased: %@", productIdentifier);
            }
            else{
            NSLog(@"Not purchased: %@", productIdentifier);
            }
        }
        self.purchasedProducts = purchasedProducts;

    }
    return self;
}

- (void)requestProducts …
Run Code Online (Sandbox Code Playgroud)

null storekit in-app-purchase ios

22
推荐指数
2
解决办法
5521
查看次数

SKProductsRequest在启动时使用iOS 7.0.3崩溃应用程序

我们的应用程序崩溃的报告在昨晚开始泛滥.许多升级到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];
}
Run Code Online (Sandbox Code Playgroud)

在didFinishLaunchingWithOptions中,我们进行调用以请求产品数据.我们需要在另一个线程中执行此操作吗?还有谁有相同的问题吗?

crash startup ios

5
推荐指数
1
解决办法
1198
查看次数

标签 统计

ios ×2

crash ×1

in-app-purchase ×1

null ×1

startup ×1

storekit ×1