У меня есть приложение для iPhone, подобное facebook для iPhone. Мое приложение должно подключать мой сервер и читать все сообщения каждые два часа. У меня есть поток для чтения всего сообщения, но когда приложение завершается, поток не может работать. Может ли поток работать независимо от основного делегата или как я могу найти решение этой проблемы?IOS фоновая работа
ответ
У вас не может быть приложение в фоновом режиме. Существует API для завершения задач, таких как загрузка фотографии, но даже это будет убито примерно через 10 минут.
Но Apple Push Notification Service представляется наиболее подходящим решением для вашей проблемы. Ваш сервер уведомляет устройство о том, что происходит что-то новое, и вы получаете фактические сообщения, когда пользователь открывает приложение.
Редактировать: Начиная с iOS 7 Apple реализовала функцию, в которой вы можете запланировать выполнение задач для извлечения данных в фоновом режиме. Эти задачи не гарантируются в любое время. См release notes for iOS 7 и связанные методы ниже:
Apps, регулярно обновлять их содержание, связавшись с сервером может регистр с системой и запускается периодически, чтобы получить, что содержание в фоновом режиме. Для регистрации включите ключ UIBackgroundModes с значением выборки в файле Info.plist вашего приложения. Затем, когда запускается ваше приложение, вызовите метод setMinimumBackgroundFetchInterval: , чтобы определить, как часто он получает сообщения об обновлении. Наконец, вы также должны использовать метод application:performFetchWithCompletionHandler: в своем приложении делегат.
Решение отсутствует.
Apple не позволяет приложениям работать в фоновом режиме, если они не имеют определенного типа, такие как местоположение или аудио или voip или newstand (ваше приложение может продолжать работать в течение примерно 10 минут после его активации, если оно использует shouldBeginBackgroundTaskWithExpirationHandler) ,
Нет обходного пути, многие другие люди задавались вопросом, как сделать то же самое, что и вы сами, но нет законного пути. Ваше приложение не может планировать какую-либо периодическую деятельность домашнего звонка.
Единственный способ, которым может запускаться ваше приложение после его перехода в приостановленное или завершенное состояние, - это запуск пользователем пользователя, явно или в ответ на локальное уведомление или удаленное push-уведомление.
- 1. Фоновая работа в iOS
- 2. Parse iOS, код облака и фоновая работа
- 3. Фоновая работа на iOS9
- 4. Scp как фоновая работа?
- 5. Фоновая работа Thread Delphi 2010
- 6. Фоновая работа в CakePhp 2.0
- 7. iOS - CLLocationManager фоновая работа с MKMapView на переднем плане
- 8. работа данных наука кластеризация работа с parse.com фоновая работа
- 9. Сверхвысокая фоновая работа или точность QUARTZ
- 10. IOS Фоновая Execution
- 11. Фоновая синхронизированная задача iOS
- 12. Фоновая выборка в iOS
- 13. iOS Фоновая запись звука
- 14. iOS - Фоновая загрузка фотографий
- 15. iOS Фоновая обработка
- 16. iOS фоновая выборка работает слишком долго?
- 17. фоновая работа против обратного вызова after_save
- 18. PHP Фоновая работа, не отображающая результатов
- 19. Фоновая работа/монитор задач для Django
- 20. Ошибка в PopupMenu, когда фоновая работа начинается?
- 21. Как проверить, жив ли фоновая работа? (Баш)
- 22. Фоновая работа, вызывающая зависание пользовательского интерфейса
- 23. Фоновая работа в службе отдыха WCF
- 24. Фоновая работа и блокировка основной формы
- 25. Firefox Addons SDK: фоновая работа или процесс
- 26. Фоновая работа и планирование с помощью Resque
- 27. Фоновая работа метода Object.equals в коллекции?
- 28. ASP.NET MVC фоновая работа - лучшая практика
- 29. IOS Интерактивная фоновая цветная анимация
- 30. Фоновая задача swift 3.0 iOS
Я собирался написать то же самое, но @klaustopher был первым. Вы можете смотреть видео или документацию WWDC, если у вас есть подписка на iOS Developer. Они объясняют это там очень четко. –
Я пробовал NSNotification, но если нет нового сообщения в указанное время, NSNotification не запускается еще раз. Есть ли какой-нибудь образец кода, который вы хотите получить, и можете ли вы поделиться им. – BeyazBaron
Существует множество примеров того, как реализовать услугу push notidication. Если вы также пишете код сервера, просто зайдите в Google для «apple push notification service {your language}». Если у вас нет доступа к серверу, вам нужно создать прокси-сервер, который регулярно запускается на сервере, извлекает информацию с исходного сервера и передает информацию пользователям iPhone. – klaustopher