【发布时间】:2010-08-24 22:27:11
【问题描述】:
我的应用在 iTunes 上的评分页面的链接是什么?
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"???"]];
【问题讨论】:
标签: iphone xcode hyperlink itunes
我的应用在 iTunes 上的评分页面的链接是什么?
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"???"]];
【问题讨论】:
标签: iphone xcode hyperlink itunes
这个其他问题有一个合适的answer。请注意 type=Purple+Software 部分是文字而不是您公司的名称。您唯一需要更改的是应用程序 ID。这个例子有点奇怪,因为字符串被分解成几个字符串,我会用一个作为格式来代替应用程序ID。
最终结果如下所示:
itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=123456789
【讨论】:
在 iOS7 之后 @Jon Steinmetz 链接已弃用。所以,你应该写一个代码划分操作系统版本如下。
if([[UIDevice currentDevice] systemVersion].floatValue >= 7.0f)
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/app/id%@", #YourAppID#]]];
else
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?id=%@&pageNumber=0&sortOrdering=1&type=Purple+Software&mt=8", #YourAppID#]]];
【讨论】:
在支持多个操作系统和多个平台时,创建评级链接可能会成为一个复杂的问题。例如,iOS 7(其中一些)不支持 WebObjects,您创建的某些链接会打开另一个国家/地区商店,然后是用户的商店等。
有 2 个相关的开源库可以帮助您:
iLink - 在运行时会找到该链接(该库将检查应用程序 ID 和它正在运行的操作系统,并确定应该创建哪个链接)。最好的一点是,您在使用它之前无需进行任何配置,这样就不会出错并且始终可以正常工作。如果您在同一个项目上的目标很少,那也很好,这样您就不必记住要使用哪个应用 ID 或链接。如果商店中有新版本(这是内置的,您可以通过一个简单的标志将其关闭),此库还会提示用户升级应用程序。
将 2 个库文件复制到您的项目中。
在您的 appDelegate.m 上:
#import "iLink.h"
+ (void)initialize
{
//configure iLink
[iLink sharedInstance].globalPromptForUpdate = YES; // If you want iLink to prompt user to update when the app is old.
}
例如,在您要打开评分页面的地方使用:
[[iLink sharedInstance] openRatingsPageInAppStore];
并在同一个文件中导入 iLink.h。
那里有一个关于整个库的非常好的文档,还有一个适用于 iPhone 和 Mac 的示例项目。
iRate - 如果您希望库自动提示用户评分过程,则超级推荐此库。只需设置您想要的参数,它就会为您完成工作(也有许多语言的翻译)。缺点是您将为此使用警报视图,而不是您自己的 UI。
【讨论】: