通过 Appirater 获得的 App Store ID 与来自 plist 的 ID 不同,而且显然是随机的

Posted

技术标签:

【中文标题】通过 Appirater 获得的 App Store ID 与来自 plist 的 ID 不同,而且显然是随机的【英文标题】:App Store ID via Appirater different than ID from plist, and apparently random 【发布时间】:2012-03-07 19:25:27 【问题描述】:

我在从我的 plist 中获取 App Store ID 并将其与 Appirater 一起使用时遇到问题。我NSLogged 用户推送“立即评分”时正在使用的 URL,并且 App Store ID 与我在 Info.plist 中设置的 App Store ID 完全不同。不知道从哪里得到这些数字——它们每次都是一组不同的 9 个数字。这真的很奇怪。

Appirater.m 中处理获取 App Store ID 并在链接中使用它的代码如下所示:NSString *const kAppiraterAppIdBundleKey = @"AppStoreId";

NSString *templateReviewURL = @"itms-apps://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewContentsUserReviews?type=Purple+Software&id=APP_ID";

....

+ (NSString*)appStoreAppID 

    NSString* value = [[[NSBundle mainBundle] infoDictionary] objectForKey:kAppiraterAppIdBundleKey];

    NSAssert1(value, @"Error - you have not specified %@ property in your info.plist", kAppiraterAppIdBundleKey);

    return value;


//...

+ (void)rateApp 
    //...
    NSString *reviewURL = [templateReviewURL stringByReplacingOccurrencesOfString:@"APP_ID" withString:[NSString stringWithFormat:@"%d", [self appStoreAppID]]];
    //...

我在 plist 中添加了一个名为“AppStoreId”的字段,并输入了 9 位代码。我把它变成了字符串类型。现在,当我用上面那个 iTunes 链接中的实际 9 位代码替换“APP_ID”时,代码运行完美,但是当我将其保留为 APP_ID 时,我收到错误“无法连接到 iTunes Store。”和@987654324 @output 在链接中有 9 个随机数,而且每次都不一样。

这可能是一个简单的解决方法,但我似乎无法弄清楚。

【问题讨论】:

好老应用盗版者。每次看到这个名字我都想笑。 【参考方案1】:

随机数?您正在使用:

[NSString stringWithFormat:@"%d", [self appStoreAppID]]

其中appStoreAppIDNSString

因此,您将“APP_ID”替换为指向NSString 的指针,而不是NSString 的内容。

只需使用%@ 而不是%d

【讨论】:

以上是关于通过 Appirater 获得的 App Store ID 与来自 plist 的 ID 不同,而且显然是随机的的主要内容,如果未能解决你的问题,请参考以下文章

Appirater不要求审查

苹果mac怎么下载app stor以外的东西

iOS:从 Bundle 中获取 Apple ID (Appirater)

z/OS ftp:550 无法为 STOR 命令创建数据集 E043156.UNIX.USERLIB.SOME

奋斗启航·突破 | C-STOR分布式存储产品打造高端存储阵列系统

微信小程序首页index.js获取不到app.js中动态设置的globalData的原因以及解决方法