iphone ios 3.0.1, устройство не может ни получить токен устройства, ни сообщить об ошибке?
Хорошо, у меня есть iphone с IOS 3.0.1 У меня включен Wi-Fi, нет сотовой сети.
Я создал свой профиль обеспечения, мой сертификат правильно. почему?... все равно скажу через некоторое время, когда я запускаю приложение, я помещаю NSLog в
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err
но когда я запускаю приложение, я ничего не получаю, ни успеха, ни ошибки.
во всяком случае, я попробовал то же самое приложение и запустил его на iphone с ios 4.0, и он работал, и он напечатал токен устройства. Ох, и они оба используют одну и ту же сеть Wi-Fi.
это может быть устройство? IOS? или безопасность соединения wifi? и не должен, по крайней мере, дать мне ошибку в этом случае?
может ли это быть вызвано отсутствующим файлом библиотеки
warning: Unable to read symbols for "/Library/MobileSubstrate/MobileSubstrate.dylib" (file not found).
благодарю вас
1 ответ
Согласно документации Apple:
Нет делегатов
Когда первое приложение с поддержкой push-уведомлений установлено на устройстве, iOS пытается установить постоянное сетевое соединение с push-сервисом, которое будет использоваться всеми приложениями с поддержкой push-уведомлений на устройстве.
Если ни один из делегатов обратного вызова
application:didRegisterForRemoteNotificationsWithDeviceToken:
ниapplication:didFailToRegisterForRemoteNotificationsWithError:
называется, это означает, что это соединение еще не установлено.Это не обязательно условие ошибки. Устройство может вообще не иметь подключения к Интернету, потому что оно находится вне зоны действия любых вышек сотовой связи или точек доступа Wi-Fi, или оно может находиться в режиме полета. Вместо того, чтобы рассматривать это как ошибку, ваше приложение должно продолжаться в обычном режиме, отключая только те функции, которые зависят от push-уведомлений.
Имейте в виду, что доступность сети может часто меняться. Как только постоянное соединение с push-сервисом будет успешно установлено, будет вызван один из ранее упомянутых методов делегирования приложения.
Push-уведомления используют сотовую сеть передачи данных всякий раз, когда это возможно, даже если устройство в настоящее время использует Wi-Fi для других сетевых операций, таких как просмотр веб-страниц или электронная почта. Однако служба push-уведомлений вернется к Wi-Fi, если услуга сотовой передачи данных недоступна.
Если ваше устройство способно использовать сотовую сеть передачи данных, убедитесь, что оно имеет активный тарифный план сотовой связи. Отключите Wi-Fi в настройках и посмотрите, можете ли вы, например, просматривать веб-страницы с помощью Safari. С другой стороны, если служба push-уведомлений использует Wi-Fi, любые межсетевые экраны между вашим устройством и Интернетом должны разрешать трафик TCP к порту 5223 и от него.
ПРИМЕЧАНИЕ. Для каждой среды существует отдельное постоянное соединение с push-сервисом. iOS устанавливает постоянное соединение со средой "песочницы" для разработки. специальные сборки и дистрибутивы подключаются к производственной среде.
О второй части вашего вопроса, MobileSubstrate
это не преступник, это нормальное сообщение журнала... с взломанного iPhone:)