2014-02-15 38 views
0

我试图从UIAlertView在appstore中打开一个应用程序,当otherButtonTitle。问题没有发生。通过itms-apps打开appstore

我检查了其他按钮时按下,如果此方法被调用,它是。我猜测问题在于openURL。 appId包含没有任何whiteSpace的应用的名称,如“youtube”。链接怎么没有打开?我试过在寻找其他线程,这是一个应该在AppStore的

- (void)alertView:(UIAlertView *)alertView didDismissWithButtonIndex: (NSInteger)buttonIndex 
{ 
    if (buttonIndex == 1) 
    { 
     NSString *appId = [[otherArray objectAtIndex:currentRow] objectForKey:@"link"]; 
     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat: @"itms-apps://itunes.apple.com/app/%@?mt=8", appId]]]; 

    } 


} 
+0

选中此链接(https://developer.apple.com/library/ios/qa/qa1633/_index.html) – Pawan

回答

1

你需要把它分解成更小的步骤和调试步骤,打开应用程序的代码。

首先,调用didDismiss方法。

接下来,是执行if语句内的代码。

解决这个问题的最简单方法是在分配appID的代码上设置一个断点,然后确保代码在那里打破。

执行该行后,确保appId包含您期望的字符串。

网络中,您应该将最后一行改写为首先创建URL的步骤,然后调用openURL。浏览创建URL的代码,以确保正确创建它。

您可能需要复制URL字符串并将其粘贴到浏览器中,以查看它是否可以在那里使用。