1

我的应用程序有 3 种语言,我想在按钮单击时打开应用商店,链接是我的另一个应用程序。但是当我发送应用商店的链接时,它总是用英文描述打开美国市场。当我使用浏览器时,它会正确。我哪里出错了。

-(IBAction)Button_us_itune:(id)sender{
    NSString *ituneLink =@"https://itunes.apple.com/us/app/My_application/AppID?mt=8&ign-mpt=uo%3D4";
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:ituneLink]];

}
-(IBAction)Button_fr_itune:(id)sender{
    NSString *ituneLink =@"https://itunes.apple.com/fr/app/My_application/AppID?mt=8&ign-mpt=uo%3D4";
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:ituneLink]];
}
-(IBAction)Button_du_itune:(id)sender{
    NSString *ituneLink =@"https://itunes.apple.com/de/app/My_application/AppID?mt=8&ign-mpt=uo%3D4";
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:ituneLink]];
}
4

3 回答 3

1

这可能是因为您在美国商店使用/登录。

于 2013-03-20T10:56:29.013 回答
1

其实这很容易。你有两个错误:

  1. 您在链接中使用国家/地区代码。即你确切地提到你想开什么商店。这很糟糕,因为在某些情况下,用户会打开与您需要的不同的商店。如果您要求 US 并且用户注册了另一个,您将失去他。

  2. 您可能无法分辨用户注册到哪个商店。因此,即使您创建了正确的链接,您也永远无法知道要调用哪个函数(根据我的知识,没有 API 可以知道用户在哪里注册 - 您只能知道他在哪里或他的语言设置)。

所以,你可以删除国家代码。IE:

NSString *ituneLink =@"https://itunes.apple.com/app/My_application/AppID?mt=8&ign-mpt=uo%3D4"

即便如此,在某些情况下和某些操作系统版本中,链接本身也可能会出现问题

我建议您使用一个名为iLink的简单库,它可以(在运行时)计算出所有内容并创建您需要的始终有效的链接。它还有一个很棒的功能,如果商店里有更新,它会提示用户进行更新。

于 2014-08-03T13:34:02.100 回答
0

您正在提供丹麦应用程序链接。而且我认为您已使用其他国家/地区登录。

于 2013-03-20T11:13:04.937 回答