Это взломать сделает яблоко в ярости? (Будет ли отклонить мое приложение?) - PullRequest
4 голосов
/ 19 ноября 2009

Я взял этот код у

Изменение цвета фона UIAlertView?

UIAlertView *theAlert = [[[UIAlertView alloc] initWithTitle:@"Atention"
   message: @"YOUR MESSAGE HERE", nil)
   delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil] autorelease];

   [theAlert show];

   UILabel *theTitle = [theAlert valueForKey:@"_titleLabel"];
   [theTitle setTextColor:[UIColor redColor]];

   UILabel *theBody = [theAlert valueForKey:@"_bodyTextLabel"];
   [theBody setTextColor:[UIColor blueColor]];

   UIImage *theImage = [UIImage imageNamed:@"Background.png"];    
   theImage = [theImage stretchableImageWithLeftCapWidth:16 topCapHeight:16];
   CGSize theSize = [theAlert frame].size;

   UIGraphicsBeginImageContext(theSize);    
   [theImage drawInRect:CGRectMake(0, 0, theSize.width, theSize.height)];    
   theImage = UIGraphicsGetImageFromCurrentImageContext();    
   UIGraphicsEndImageContext();

   [[theAlert layer] setContents:[theImage CGImage]];

первоначально опубликовано oxigen.

Я не совсем уверен, должен ли я использовать этот код в своем приложении. Будут ли у Apple какие-либо проблемы, связанные с этим взломом (они отклонят приложение?)

Ответы [ 3 ]

10 голосов
/ 19 ноября 2009

Подчеркивания в качестве префиксов свойств, к которым вы обращаетесь (_titleLabel, _bodyTextLabel), четко указывают на то, что это частные свойства, и их не следует использовать. Apple недавно начала сканировать все представленные двоичные файлы на предмет доступа к закрытым методам и свойствам, и этих значений в вашем приложении должно быть достаточно, чтобы вас отклонили. Никогда не рекомендуется использовать частные API, отклонения или нет, поскольку они, как правило, являются частными по какой-либо причине и могут испортить ваше приложение с будущими обновлениями ОС.

Кроме того, вы нарушаете Правила интерфейса пользователя iPhone , изменяя цвет предупреждения:

Вы можете указать текст, номер кнопок и их содержание в оповещение, но вы не можете настроить фоновое появление оповещения Сам.

Опять же, из Руководства по интерфейсу пользователя iPhone :

Поскольку пользователи привыкли к внешний вид и поведение этих мнения, важно использовать их последовательно и правильно в вашем применение.

2 голосов
/ 19 ноября 2009

Только Apple может ответить на этот вопрос. И они не ответят, пока вы не отправите его и не подождете примерно 2 недели.

Если вы действительно этого хотите и у вас есть 2 недели, чтобы убить, попробуйте отправить его. Но это может быть отклонено при обновлении позже.

Используете ли вы какие-либо недокументированные API здесь? Если да, предположите, что он будет отклонен. Если это не так, но вы делаете что-то другое, то единственный правильный ответ на ваш вопрос - «Я не знаю».

0 голосов
/ 22 ноября 2009

Если вы хотите знать, приведет ли какой-либо метод программирования к отказу, создайте небольшое приложение с ограниченными функциональными возможностями и используйте в нем сомнительную технику.

Требуется 2 недели, чтобы получить ответ, но, по крайней мере, вы не потратите кучу времени заранее.

Если они одобрят ваше тестовое приложение, удалите его из магазина. Если он имеет подлинную полезность, установите цену в $ 0,99 и оставьте ее.

Этот метод не является надежным, но он дешев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...