Когда мое приложение обновляется с предыдущей версии, экран становится черным. (Не происходит при первой установке) - PullRequest
1 голос
/ 15 октября 2019

У меня есть приложение, выпущенное в App Store, и я разрабатываю новое обновление для него. Я использую testFlight и по какой-то причине на testFlight при обновлении с версии, которая была раньше, приложение становится пустым черным экраном при открытии. Однако это не происходит, если он удален, а затем установлен. Есть одно исключение: если я обновлюсь перед входом в систему (не включать после выхода из системы), я также не получу черный экран. (Я использую Firebase и Google для входа в систему)

Кроме того, в этом обновлении я меняю места хранения данных на устройстве, чтобы использовать их для расширения. Поскольку после входа я храню данные в старых местах, я подумал, что это может быть связано с этим изменением. Однако, когда я закомментировал это полностью, мне не повезло.

Я также проверил, чтобы убедиться, что мой Основной интерфейс был настроен правильно.

Я использую SWRevealViewController в качестве моего корневого контроллера представления,Когда этот сбой происходит, контроллер представления не представляет ни передний, ни задний контроллер, прикрепленный к нему. Я не знаю, как это повлияло бы на мой код. Ни контроллер переднего, ни заднего вида не вызывает viewDidLoad.

Есть какие-либо предложения о том, что это может быть? Вот мой код в didFinishLaunching

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? = nil) -> Bool {
    // Override point for customization after application launch.
    notificationCenter.delegate = self
    FirebaseApp.configure()  //Firebase
    Database.database().isPersistenceEnabled = true
    Messaging.messaging().delegate = self

    GIDSignIn.sharedInstance().clientID = FirebaseApp.app()?.options.clientID //google sign-in
    application.registerForRemoteNotifications()
    UNUserNotificationCenter.current().delegate = self //Notifications
    let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound]
    UNUserNotificationCenter.current().requestAuthorization(options: authOptions) {_,_ in }
    UIApplication.shared.applicationIconBadgeNumber = 0

    UINavigationBar.appearance().barStyle = .blackOpaque

    // set up your background color view
    let colorView = UIView()
    colorView.backgroundColor = UIColor.white.withAlphaComponent(0.4)

    // use UITableViewCell.appearance() to configure
    // the default appearance of all UITableViewCells in your app
    UITableViewCell.appearance().selectedBackgroundView = colorView

    getAllData() //function that gets all data

    if updatedToNewDataSystem == nil { //var that confirms if it was in new location (nil means no, true is yes, and false is new user)
        runWithStandardUserDefaults() //moves data to new location
    }

    signInController.setup() //check if user is signed in

    return true
}

Наконец, вот некоторые журналы, которые я обнаружил, которые не появлялись, когда приложение работало правильно:

2019-10-14 16:26:40.421963-0400 SHS Assistant[443:24394] [] tcp_input [C3.1:3] flags=[R] seq=1279028434, ack=0, win=0 state=LAST_ACK rcv_nxt=1279028434, snd_una=3119232704 
2019-10-14 16:26:40.425750-0400 SHS Assistant[443:24394] [] tcp_input [C3.1:3] flags=[R] seq=1279028434, ack=0, win=0 state=CLOSED rcv_nxt=1279028434, snd_una=3119232704
2019-10-14 16:26:40.427276-0400 SHS Assistant[443:24394] [] tcp_input [C3.1:3] flags=[R] seq=1279028434, ack=0, win=0 state=CLOSED rcv_nxt=1279028434, snd_una=3119232704

Я действительно ценю любую помощь, которую могуполучить по этому вопросу! Заранее спасибо!

...