2009-12-30 1 views

ответ

7

terminateWithSuccess - частный API, поэтому MonoTouch не имеет его. Вы все равно можете вызвать его с помощью селектора.

 Selector s = new Selector("terminateWithSuccess"); 
     UIApplication.SharedApplication.PerformSelector(s, UIApplication.SharedApplication, 0) 
+1

Имейте в виду, что этот метод не является «кошерным», Apple может изменить его без предупреждения, и это может даже потенциально предотвратить одобрение вашего приложения. –

+0

Я читал об этом на форумах, и многие люди получили одобренные приложения, которые использовали этот метод. Что такое кошерный способ закрыть приложение? –

+0

Этот метод довольно безопасен, я бы не стал беспокоиться об использовании его слишком много. Но официально, вы не должны закрыть приложение вообще. Пользователь должен закрыть приложение, когда это делается, нажав физическую кнопку на телефоне. 'terminateWithSuccess' не анимирует закрытие, приложение просто уходит, что может заставить пользователя думать, что ваше приложение разбилось. –

1

После публикации вопроса я понял это, но Мэтт избил меня. Вот еще один способ:

UIApplication.SharedApplication.PerformSelector (новый селектор («terminateWithSuccess»), null, 0f);

+0

Не забудьте прочитать комментарий Мэтта о его ответе на важную информацию об этом методе. –

+0

Да, я предполагаю, что параметр NSObject для меня немного туман. Большинство людей просто переходят в нуль. –

+0

Я просто прочитал свой путь и свой путь, и это точно так же, за исключением второго параметра. Наверное, я слишком устал и думал, что это полная разница. В любом случае. –

4

FWIW- Я получил этот последний уик Похоже, настало время для этого метода ...

Благодарим Вас за отправку обновление хххх в App Store. Во время нашего обзора вашего приложения мы обнаружили, что он использует частные API, что является нарушением раздела 3.3.1 Лицензионного соглашения с Программой разработчиков iPhone; «3.3.1 Приложения могут использовать только Документированные API в порядке, предписываемом Apple, и не должны использовать или использовать какие-либо частные API». Хотя ваше приложение не было отклонено, было бы целесообразно решить эту проблему в следующем обновлении.
следующее непубличное API, которые включены в приложении:
terminateWithSuccess
Если вы определили методы в исходном коде с теми же именами, как выше API, мы предлагаем изменения ваших имен методов, чтобы они не больше сталкиваются с частными API-интерфейсами Apple, чтобы избежать того, что ваше приложение будет помечено будущими представлениями. Пожалуйста, устраните эту проблему в следующем обновлении до xxx.

Смежные вопросы