Переменная окружения Xcode недоступна после ручного закрытия и повторного открытия - PullRequest
0 голосов
/ 06 января 2019

Я создал простую переменную среды для тестирования, как вы можете видеть здесь:

Когда я получаю доступ к этой переменной env в viewDidLoad(), она становится доступной при первоначальной сборке приложения, но когда я закрываю приложение как на моем реальном iPhone, так и на симуляторе, затем снова открываю приложение, приложение вылетает, и я ничего не могу сделать.

Вот простой код, вызывающий сбой при повторном открытии:

import UIKit

class ViewController: UIViewController {
    override func viewDidLoad() {
        super.viewDidLoad()
        print(ProcessInfo.processInfo.environment["TEST"]!)
    }
}

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

Ответы [ 2 ]

0 голосов
/ 06 января 2019

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

0 голосов
/ 06 января 2019

Переменная окружения доступна только при запуске через XCode. Ваш код принудительно разворачивает нулевое значение, которое никогда не будет существовать в вашем реальном приложении iOS, установленном на устройствах пользователя.

Вам нужно безопасно проверить, есть ли значение во время тестирования через Xcode.

...