Идентификатор App Store через Appirater отличается от идентификатора из plist и, по-видимому, случайный
У меня проблема с извлечением идентификатора App Store из моего списка и использованием его с Appirater. я NSLog
Измените URL-адрес, который использовался, когда пользователь нажимает "Оценить сейчас", а идентификатор App Store сильно отличается от идентификатора App Store, который я установил в Info.plist. Понятия не имею, откуда взялись эти цифры - каждый раз это разные наборы из 9 чисел. Это действительно странно.
Код в Appirater.m, который занимается захватом идентификатора App Store и использованием его по ссылке, выглядит следующим образом: 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]]];
//...
}
Я добавил в список "AppStoreId" поле и ввел 9-значный код. Я сделал это строковым типом. Теперь код работает отлично, когда я заменяю "APP_ID" фактическим 9-значным кодом в той ссылке iTunes выше, но когда я сохраняю его как APP_ID, я получаю сообщение об ошибке "Не удается подключиться к iTunes Store". NSLog
В выводе есть 9 случайных чисел, и каждый раз они разные.
Это, вероятно, легко исправить, но я не могу понять это.
1 ответ
Случайные числа? Вы используете:
[NSString stringWithFormat:@"%d", [self appStoreAppID]]
где appStoreAppID
является NSString
,
Таким образом, вы заменяете "APP_ID" указателем на NSString
, а не содержимое NSString
,
Просто используйте %@
вместо %d
,