Я создаю приложение iOS и тестировал его как на симуляторе, так и на моем iPad. Все отлично работало до тех пор, пока я не добавил код для регистрации для push-уведомлений в мой AppDelegate.m. Теперь, когда я пытаюсь запустить приложение на устройстве, приложение некоторое время задерживается на заставке, а затем xCode вызывает следующую ошибку.xCode теряет соединение с устройством при запуске приложения
запуск процесса не удалась: истекло время ожидания приложение для запуска
и вот код я добавил на всякий случай:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
if ([[UIApplication sharedApplication]respondsToSelector:@selector(registerUserNotificationSettings:)])
{
UIUserNotificationType userNTypes = (UIUserNotificationTypeAlert|UIUserNotificationTypeBadge|UIUserNotificationTypeSound);
UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:userNTypes categories:nil];
NSLog(@"sherikkum registering 8.xx...");
[[UIApplication sharedApplication] registerUserNotificationSettings:settings];
[[UIApplication sharedApplication] registerForRemoteNotifications];
}
else
{
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
}
#else
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:
(UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)];
#endif
return YES;
}
- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
NSLog(@"My token is: %@", deviceToken);
//I added this alert coz i couldnt view NSLogs - coz my xcode wont connect
UIAlertView *tokenalert = [[UIAlertView alloc] initWithTitle:@"Token"
message:[NSString stringWithFormat:@"%@",deviceToken]
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil, nil];
[tokenalert show];
}
- (void)application:(UIApplication*)application didFailToRegisterForRemoteNotificationsWithError:(NSError*)error
{
NSLog(@"Failed to get token, error: %@", error);
}
Благодаря
Чтобы убедиться, что из-за кода, связанного с уведомлением, удалите его и запустите приложение еще раз. Также я не понял, почему вы использовали макрос (__IPHONE_OS_VERSION_MAX_ALLOWED), а не версию системы [[UIDevice current device]]. Этот макрос будет определять версию ОС во время компиляции вместо времени выполнения, что может создать проблемы. –
Обновлен мой ответ. –