Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 手动关闭并重新打开后无法访问Xcode环境变量_Ios_Swift_Xcode_Environment Variables - Fatal编程技术网

Ios 手动关闭并重新打开后无法访问Xcode环境变量

Ios 手动关闭并重新打开后无法访问Xcode环境变量,ios,swift,xcode,environment-variables,Ios,Swift,Xcode,Environment Variables,我为测试创建了一个简单的环境变量,您可以在这里看到: 当我在viewdiload()中访问这个env变量时,它可以在应用程序的初始构建中访问,但是当我在实际的iPhone和模拟器上关闭应用程序,然后重新打开应用程序时,应用程序崩溃,我什么也做不了 以下是导致重新打开时崩溃的简单代码: import UIKit class ViewController: UIViewController { override func viewDidLoad() { super.vie

我为测试创建了一个简单的环境变量,您可以在这里看到:

当我在
viewdiload()
中访问这个env变量时,它可以在应用程序的初始构建中访问,但是当我在实际的iPhone和模拟器上关闭应用程序,然后重新打开应用程序时,应用程序崩溃,我什么也做不了

以下是导致重新打开时崩溃的简单代码:

import UIKit

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

我意识到解包可选文件是导致崩溃的原因,但为什么在应用程序关闭后环境变量不可访问?

环境变量仅在通过Xcode运行时可用。您的代码正在强制展开一个nil值,该值在用户设备上安装的真实iOS应用程序中永远不会存在


在通过Xcode进行测试期间,您需要安全地检查该值是否存在。

一旦手动关闭并重新打开应用程序,应用程序本身将直接从模拟器启动,而不是从Xcode启动,因此无法设置运行方案中声明的环境变量。因此,强制展开崩溃。

我需要这些.env变量来运行我的应用程序,即可以引用的URL,以便在本地服务器和临时服务器上测试我的API。如果重新打开时无法访问这些.env变量,如何声明要在没有Xcode的情况下运行的.env变量?除非从Xcode运行,否则在iOS应用程序中不能使用环境变量。你需要一种不同的方式来知道使用哪台服务器。该死,iOS/Swift在技术上严重落后,很奇怪2019年无法提供。谢谢你的帮助。这与斯威夫特无关。当iOS应用程序安装在用户设备上时,您无法指定要设置的环境变量。您最初的问题已得到回答。您应该做一些搜索,如果需要,发布一个新问题,具体说明如何根据需要在不同的时间指定不同的服务器。