Как мне отредактировать заголовок и сообщения в irate for ios?
Я добавил файлы.h.m и.bundle для irate. Я установил режим предварительного просмотра на YES, чтобы всплывающее окно с предупреждением появлялось сразу после запуска приложения на моем телефоне (я тестирую). Он не отображает Alert View вообще, если я не установил режим предварительного просмотра на YES. Так что теперь выскакивает рейтинг Alert View. В файле.m я попытался отредактировать заголовок, текст сообщения и кнопки в строке, и он по-прежнему показывает исходный текст заголовка, сообщения и кнопки, даже если он не существует в.m, потому что я полностью изменил его. Кто-нибудь знает, как отредактировать этот текст, чтобы он редактировал текст, отображаемый в представлении предупреждений. Код приведен ниже, так как он был загружен из irate. Если я изменю текст в строках, он не изменится, когда я проверю, он все еще показывает, что там сейчас. Ходить по кругу здесь, и я предполагаю, что я упускаю что-то простое, любая помощь будет потрясающей!
- (NSString *)messageTitle
{
return [_messageTitle ?: [self localizedStringForKey:iRateMessageTitleKey withDefault:@"Rate %@"] stringByReplacingOccurrencesOfString:@"%@" withString:self.applicationName];
}
- (NSString *)message
{
NSString *message = _message;
if (!message)
{
message = (self.appStoreGenreID == iRateAppStoreGameGenreID)? [self localizedStringForKey:iRateGameMessageKey withDefault:@"If you enjoy playing %@, would you mind taking a moment to rate it? It won’t take more than a minute. Thanks for your support!"]: [self localizedStringForKey:iRateAppMessageKey withDefault:@"If you enjoy using %@, would you mind taking a moment to rate it? It won’t take more than a minute. Thanks for your support!"];
}
return [message stringByReplacingOccurrencesOfString:@"%@" withString:self.applicationName];
}
- (NSString *)cancelButtonLabel
{
return _cancelButtonLabel ?: [self localizedStringForKey:iRateCancelButtonKey withDefault:@"No, Thanks"];
}
- (NSString *)rateButtonLabel
{
return _rateButtonLabel ?: [self localizedStringForKey:iRateRateButtonKey withDefault:@"Rate It Now"];
}
- (NSString *)remindButtonLabel
{
return _remindButtonLabel ?: [self localizedStringForKey:iRateRemindButtonKey withDefault:@"Remind Me Later"];
}
1 ответ
Как предлагается в документации iRate для GitHub, есть два способа переопределить эти строки:
1) вы можете переопределить строки по умолчанию в методе класса инициализации делегата приложения:
+ (void)initialize
{
//overriding the default iRate strings
[iRate sharedInstance].messageTitle = NSLocalizedString(@"Rate MyApp", @"iRate message title");
[iRate sharedInstance].message = NSLocalizedString(@"If you like MyApp, please take the time, etc", @"iRate message");
[iRate sharedInstance].cancelButtonLabel = NSLocalizedString(@"No, Thanks", @"iRate decline button");
[iRate sharedInstance].remindButtonLabel = NSLocalizedString(@"Remind Me Later", @"iRate remind button");
[iRate sharedInstance].rateButtonLabel = NSLocalizedString(@"Rate It Now", @"iRate accept button");
}
2) Рекомендуется также создать собственный файл Localizable.strings и добавить строки, найденные в iRate.h:
//localisation string keys
static NSString *const iRateMessageTitleKey = @"iRateMessageTitle";
static NSString *const iRateAppMessageKey = @"iRateAppMessage";
static NSString *const iRateGameMessageKey = @"iRateGameMessage";
static NSString *const iRateCancelButtonKey = @"iRateCancelButton";
static NSString *const iRateRemindButtonKey = @"iRateRemindButton";
static NSString *const iRateRateButtonKey = @"iRateRateButton";
Например, внутри файла Localizable.strings:
"iRateMessageTitle" = "My own rating title";
"iRateAppMessage" = "My own rating message";