Странная ситуация Сбой в Mapview в раскадровке при добавлении дочернего контроллера или при наличии (добавлен пример кода)

У меня есть View Controller в раскадровке только с mapview.

class MapVC: UIViewController {
    class func viewController () -> MapVC {
        let storyboard = UIStoryboard(name: "Dashboard", bundle: nil)
        return storyboard.instantiateViewController(withIdentifier: "MapVC") as! MapVC
    }
    override func viewDidLoad() {
        super.viewDidLoad()

    }
}

У меня простой экран входа в систему

При действии кнопки входа в систему я вызываю этот метод

 private func addChildVC (_ vc:UIViewController) {
        self.removeAllChild()
        self.addChild(vc)
        vc.view.frame = self.view.bounds
        self.view.addSubview(vc.view)
        vc.didMove(toParent: self)
        self.currentCenterViewController = vc

  }

С участием

MapVC.viewController()

Приложение вылетает

vc.view.frame = self.view.bounds

Странно, если я отлаживаю, как прикрепленный отладчик, и когда я нажимаю на приложение входа в систему, не происходит сбой, но когда отладчик не подключен при запуске, а затем я запускаю приложение в симуляторе, затем присоединяю процесс, и когда я нажимаю кнопку входа в систему, приложение вылетает

Контроллер текущего представления также не работает, вылетает приложение

Если я удалю Mapview из раскадровки, приложение будет работать нормально в обоих случаях.

Когда я проверяю, vc.isViewLoaded возвращает false

попробовал loadViewIfRequired () Очистить производные данные, перезапустить чистый проект xcode. Убедитесь, что я добавил правильные идентификаторы

Странная ситуация Сбой в Mapview в раскадровке при добавлении дочернего контроллера или при наличии (добавлен пример кода)

Я не могу понять причину Пожалуйста, помогите

РЕДАКТИРОВАТЬ

Образец приложения

https://drive.google.com/open?id=1-otaZhhhDEH4p29CgQP7xZSX9tizceq8

Действия по воспроизведению

1) Запускаем в любом симуляторе ios 12
2) Нажмите стоп из xcode
3) Из симулятора запустите приложение
. 4) Нажмите кнопку

РЕДАКТИРОВАТЬ2

видео выпуска https://drive.google.com/file/d/1z9C3Re_oVYkRncnE22xRoef2Kv2WyzId/view

Сообщить об ошибке https://bugreport.apple.com/web/?problemID=46774084

Странная ситуация Сбой в Mapview в раскадровке при добавлении дочернего контроллера или при наличии (добавлен пример кода)

Можете ли вы поделиться проектом, если это демонстрационное приложение?

Mayur Karmur 17.12.2018 12:48

@MayurKarmur да, пожалуйста, дайте мне минутку

Prashant Tukadiya 17.12.2018 12:48

А также скажите мне, какой XCode вы используете.

Mayur Karmur 17.12.2018 12:51

@MayurKarmur с использованием xcode10, swift 4.2. добавлен образец проекта

Prashant Tukadiya 17.12.2018 12:51

Спасибо за ссылку, но в проекте нет расширения раскадровки, вместо этого он выглядит как xml.

Mayur Karmur 17.12.2018 13:00

@MayurKarmur Не могли бы вы попробовать drive.google.com/open?id=1-otaZhhhDEH4p29CgQP7xZSX9tizceq8

Prashant Tukadiya 17.12.2018 13:03

ваш проект работает без проблем

Sh_Khan 17.12.2018 13:06

@Sh_Khan Пожалуйста, прекратите отладку и просто запустите ее из симулятора

Prashant Tukadiya 17.12.2018 13:07

карта отображается в симуляторе

Sh_Khan 17.12.2018 13:07

@Sh_Khan Могу я поделиться видео?

Prashant Tukadiya 17.12.2018 13:08

посмотреть временно в режиме редактирования .........

Sh_Khan 17.12.2018 13:12

@Sh_Khan Пожалуйста, посмотрите drive.google.com/open?id=1z9C3Re_oVYkRncnE22xRoef2Kv2WyzId

Prashant Tukadiya 17.12.2018 13:12

@Sh_Khan Я добавил видео, о котором идет речь, любая помощь

Prashant Tukadiya 17.12.2018 13:15
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
13
292
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Я не знаю, что на самом деле проблема и почему ваше приложение вылетает. Но я нашел решение. Добавление MapKit.framework в Свяжите двоичный файл с библиотеками исправит вашу проблему.

Я надеюсь, что это поможет вам.

в контроллере представления просто добавление import MapKit также решает проблему Спасибо :) \

Prashant Tukadiya 17.12.2018 13:25

Тем не менее, остался вопрос, почему он работает при подключенном отладчике?

Prashant Tukadiya 17.12.2018 13:28

@PrashantTukadiya, Вы можете поднять этот вопрос как новый вопрос.

Sagar Chauhan 17.12.2018 14:08

Нашел причину !! добавлено в мой ответ

Prashant Tukadiya 03.01.2019 10:38

Я нашел настоящую причину этого.

Это из-за просмотреть структуру отладчика

Вот ответ от команды разработчиков Apple

Engineering has provided the following information regarding this issue:

The sample project provided is not configured correctly.

The application is using the MapKit framework, but has not been configured to link with MapKit. When run using the debugger, MapKit is pulled in because it’s linked by the view debugger framework.

When the app is launched from the simulator, without the view debugger, MapKit will not be loaded into the runtime as the app has not specified this as a dependency and therefor it crashes.

Updating your sample project to link MapKit solves the issue with the application crashing.

Другие вопросы по теме