gpt4 book ai didi

objective-c - PRODUCT_BUNDLE_IDENTIFIER如何用作应用程序错误的NSErrorDomain?

转载 作者:行者123 更新时间:2023-12-03 08:45:16 25 4
gpt4 key购买 nike

OS X应用程序的产品 bundle 包标识符如何用于错误域?这样使用有什么陷阱吗?

它似乎没有定义为宏。我试过了:

NSErrorDomain BSDomain = PRODUCT_BUNDLE_IDENTIFIER;

这会导致错误:

Use of undeclared identifier 'PRODUCT_BUNDLE_IDENTIFIER'

最佳答案

似乎构 build 置变量在命令行上可用,尽管不在源文件中。对于任何此类变量,可以手动定义preprocessor macro(另请参见"Add preprocessor macro to a target in xcode 6")based on the variable。可以给宏和设置指定不同的名称,但是可能给它们指定相同的名称会更有意义。

在这种情况下,该值应以“@”开头,并用转义的双引号引起来,因此它们是宏的一部分,并且在替换宏时将被包括在内。如果任一个都不设置,则该宏值将不是有效的NSString常量(用作NSErrorDomain值时必须使用)。该宏应添加到所有配置(调试,发布和任何用户定义的)。

PRODUCT_BUNDLE_IDENTIFIER=@\"$(PRODUCT_BUNDLE_IDENTIFIER)\"

如果产品 bundle 包ID也将以其他方式使用,则可以使用原始值( PRODUCT_BUNDLE_IDENTIFIER=$(PRODUCT_BUNDLE_IDENTIFIER))定义宏,并在使用场所引入适当的语法:
NSErrorDomain BSDomain = @"PRODUCT_BUNDLE_IDENTIFIER";

关于objective-c - PRODUCT_BUNDLE_IDENTIFIER如何用作应用程序错误的NSErrorDomain?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56243726/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com