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应用程序安装在用户设备上时,您无法指定要设置的环境变量。您最初的问题已得到回答。您应该做一些搜索,如果需要,发布一个新问题,具体说明如何根据需要在不同的时间指定不同的服务器。