我可以以编程方式设置环境变量吗?

Jon*_*baz 5 xcode ios swift

我正在 Xcode 中使用 Swift 3.0 编写一些涉及登录页面的代码。我想设置一个名为 CurrentUser 的环境变量。有没有办法在方案中定义环境变量并在我登录后以编程方式设置变量的值?

Ken*_*ses 8

是的,您可以以编程方式为当前进程设置环境变量(默认情况下,子进程也将继承)。您可以调用该setenv()函数来执行此操作。

影响 的environment属性的未来查询返回的字典NSProcessInfo。当然,您也可以使用该getenv()函数检索值。


Com*_*ast -2

没有。NSProcessInfo\xe2\x80\x99senvironment属性是只读的。这是有充分理由的。

\n\n

使用 Swift,您知道您可以定义在整个应用程序中共享的全局变量,对吗?为什么你需要搞乱环境?

\n\n

请参阅:https://developer.apple.com/documentation/foundation/nsprocessinfo/1417911-environment ?language=objc

\n\n

顺便说一句,我们通常使用钥匙串来存储用户名和密码等登录信息,因为它\xe2\x80\x99是一个安全的、系统提供的、持久的键值数据存储。

\n\n

查看:\n https://github.com/evgenyneu/keychain-swift

\n