openURL в UIApplication приводит к сбою моего приложения

#iphone #objective-c #cocoa-touch #ios #openurl

#iPhone #objective-c #cocoa-touch #iOS #openurl

Вопрос:

Я использую openURL: метод UIApplication для открытия веб-сайта в Safari. Когда пользователь вернулся к приложению (быстрое переключение), оно перезапустилось. Это означает, что мое приложение было закрыто вместо перехода в фоновый режим.

У кого-нибудь такая же проблема? Есть идеи? Заранее благодарю вас.

Комментарии:

1. На самом деле это не «сбой». Это действительно зависит от того, настроено ли ваше приложение для работы в фоновом режиме или нет, а также от того, какое устройство используется, сколько памяти занимает просмотр в Safari и сколько памяти требуется вашему приложению.

Ответ №1:

Возможно, вам нужно сохранить объект URL. Когда-то это было проблемой для меня

Комментарии:

1. ДА!! В этом проблема!! Большое вам за это спасибо. Я должен сохранить объект NSURL, иначе приложение выйдет из строя.

2. Я заметил то же самое при использовании facebook login, представление, которое у меня было до быстрого переключения, разбилось, потому что данных (объекта модели) больше не было. Но все же не кажется ли вам, что что-то немного не так? Я имею в виду, что мы должны поместить туда ручное сохранение, у которого нет выпуска, чтобы согласиться с этим?

3. Спасибо за этот ответ. Это было проблемой для меня около 2 недель.

Ответ №2:

убедитесь, что вы используете

 - (BOOL)application:(UIApplication *)application
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
  

в вашем appdelegate вместо

 - (void)applicationDidFinishLaunching:(UIApplication *)application
  

Комментарии:

1. Я почти уверен, что я использую — (BOOL) application: (UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions, но по-прежнему безуспешно.

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