Ответ 1
Я решил эту проблему в Xcode 9.1 с шагами ниже.
1. Выберите симулятор
2. Выберите "Отладка" в верхних пунктах меню.
3.Выберите Location из списка меню Debug.
4. Выберите местоположение Apple.
Я получаю вышеупомянутую проблему все время, когда я впервые запускаю приложение за день. Когда я впервые запускаю приложение, я делаю вызовы сервера, чтобы получить некоторые данные, а затем воспроизвести анимационное видео. Серверные вызовы находятся в отдельном потоке, чем основной поток пользовательского интерфейса. Это как-то связано с сетевым достижимостью или анимационным видео? Я думаю, что первая часть является основной проблемой, но она не может воссоздать все это время.
Кто-нибудь испытал эту проблему?
Ниже приведен код, когда я впервые запускаю приложение.
override func viewDidLoad() {
super.viewDidLoad();
self.navigationController?.navigationBarHidden = true;
self.view.backgroundColor = UIColor.whiteColor();
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) { () -> Void in
Items.setup(); //AFNetworking call
};
animationViewController.delegate = self;
animationViewController.view.autoresizesSubviews = true;
animationViewController.view.autoresizingMask = [.FlexibleLeftMargin, .FlexibleRightMargin];
animationViewController.view.center = CGPointMake(self.view.bounds.size.width / 2, self.view.bounds.size.height / 2);
self.view.addSubview(animationViewController.view);
}
Я решил эту проблему в Xcode 9.1 с шагами ниже.
1. Выберите симулятор
2. Выберите "Отладка" в верхних пунктах меню.
3.Выберите Location из списка меню Debug.
4. Выберите местоположение Apple.
Проверьте, есть ли у вас точка прерывания исключения для захвата "Все исключения" в навигаторе точек останова. Это исправило это для меня.
У меня была аналогичная проблема. Оказывается в App/Capabilities, у меня есть Wireless Accessory Configuration с некоторыми красными предупреждениями. Нажмите кнопку, чтобы автоматически решить проблему.
Не уверен, что это сработает для вас. Я использую Xcode 8.
Проблема: то же самое с Xcode 9.0 iOS11. Разрешение: для новой iOS требуется вручную включить конфиденциальность для новых приложений развертывания. Обновления приложения не нужны. Выполните следующие шаги: (1) iPhone "Настройки" значок: нажмите (2) "Конфиденциальность": нажмите (3) "Услуги по размещению": нажмите (4) [Ваше приложение]: нажмите на свое приложение (5) "При использовании приложения": нажмите
Также испытывал это, исправил его, предоставив симулятору местоположение по умолчанию. Это может быть запах кода, поэтому следите за тем, как вы обрабатываете новые разрешения на размещение в iOS11.
Вы могли бы переопределить loadView() без вызова супер-метода.
+ Изменить
override func loadView() {
}
к
override func loadView() {
super.loadView()
}