現在、アプリ内購入の「復元」ボタンがありますが、
それは機能しますが、基本的に、プロセスの途中でユーザーにアップグレードを「購入」するように求めます (通常のアプリ内で行うのと同じように)。
a) Apple に拒否される b) ユーザーを怖がらせて、再び支払いをしていると思わせる
おそらく別のメッセージになるように変更する方法はありますか?
-(IBAction)restore:(id)sender
{=
    [[SKPaymentQueue defaultQueue]
     addTransactionObserver:self];
    [[SKPaymentQueue defaultQueue]
     restoreCompletedTransactions];
    UIAlertView *alert;
    alert = [[[UIAlertView alloc] initWithTitle:@"Restoring Your Purchases, Please Wait..." message:nil delegate:self cancelButtonTitle:nil otherButtonTitles: nil] autorelease];
    [alert show];
    UIActivityIndicatorView *indicator = [[UIActivityIndicatorView alloc] initWithActivityIndicatorStyle:UIActivityIndicatorViewStyleWhiteLarge];
    // Adjust the indicator so it is up a few pixels from the bottom of the alert
    indicator.center = CGPointMake(alert.bounds.size.width / 2, alert.bounds.size.height - 50);
    [indicator startAnimating];
    [alert addSubview:indicator];
    [indicator release];
    [alert dismissWithClickedButtonIndex:0 animated:YES];
    [[MKStoreManager sharedManager] buyFeature];=
}
-(void)productPurchased
{
    for (UIView *view in self.view.subviews)
    {
        if (view.tag==2000)
        {
            [view removeFromSuperview];
        }
    } 
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Thank you" message:@"Your restore was successful." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
}
// error restore
- (void)failed
{
    for (UIView *view in self.view.subviews)
    {
        if (view.tag==2000)
        {
            [view removeFromSuperview];
        }
    }
    UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"Error" message:@"Your restore has failed." delegate:self cancelButtonTitle:@"Ok" otherButtonTitles:nil, nil];
    [alert show];
    [alert release];
}