条件#如果调试,否则如果生产在Swift中不工作

fivyi3re  于 2023-03-17  发布在  Swift
关注(0)|答案(4)|浏览(284)

我尝试为我的应用程序使用不同的环境,但是遇到了一些问题。不是debug不工作,而是所有变量都不工作。
我附上一个截图,这将使它更容易理解发生了什么。
我无法访问任何环境。
我在应用程序的初始视图控制器的viewDidLoad中运行了这段代码,最后一个else条件得到执行。

#if DEBUG
    print("Environment is debug")
    #elseif debug
    print("Environment is debug")
    #elseif Debug
    print("Environment is Debug")
    #elseif RELEASE
    print("Release")
    #elseif PRODUCTION
    print("Environment is production")
    #elseif PROD
    print("Environment is PROD")
    #else
    print("Environment is can't find")
#endif

添加更多的图像,以更好地澄清有关方案和Xcode设置。

iqjalb3h

iqjalb3h1#

在我的例子中,这个问题通过添加DEBUG作为debug活动编译条件得到了解决。我知道在创建新项目时已经指定了它,但是我不记得是我还是其他团队成员删除了它(以及为什么!)。所以我决定将它放在这里,以防其他人面临同样的情况

ukdjmx9f

ukdjmx9f2#

我做了研究,设置编译器标志解决了这个问题。
早些时候,它们是空白的,Xcode UI的方式让我很困惑如何编辑它们,它们看起来被禁用了。
所以你要做的就是双击旗帜的侧面或者按回车键,然后添加下面的值,就像我在下面附上的截图一样。

t2a7ltrp

t2a7ltrp3#

DEBUG是新项目上唯一的默认swift标志。您可以在项目构建设置中创建自己的Other Swift Flags标志。
否则:

#if DEBUG
 // This code will be run while installing from Xcode
#else
// This code will be run from AppStore, Adhoc ... 
#endif
t1qtbnec

t1qtbnec4#

下面是构建设置应该如何查找Swift和Objective-C。这些是Xcode自动创建的设置,所以如果你错过了DEBUG,你可以重新添加它们

相关问题