我为我的应用程序定义了不同的构建配置(Develop,Stage,Prod),我使用用户定义的构建设置:
在Info.plist文件中设置Facebook登录和其他内容:
在这种情况下,$(USER_DEFINED_SETTINGS)符号工作正常.然后我尝试设置Google SignIn,这需要使用额外的.plist文件(GoogleService-Info.plist),并且我使用的是用户定义的设置,就像在Info.plist文件中所做的一样,但它不起作用.
解决方法
不能在自定义.plist文件中使用用户定义的设置,因此您必须以其他方式处理此设置.
这是我做的解决办法:
>创建一个新的文件夹(对于exmaple:GoogleServiceInfoPlists).
>复制每个环境的所有.plist文件(GoogleService-Info-Debug.plist,GoogleService-Info-Stage.plist和GoogleService-Info-Prod.plist).
>添加新的运行脚本(Xcode:Target->构建阶段).
>使用下面的脚本将给定环境的.plist文件复制(替换)到主目录(在我的情况下是src):
cp "${SRCROOT}/src/Resources/GoogleServiceInfoPlists/GoogleService-Info-$CONFIGURATION.plist" "${SRCROOT}/src/GoogleService-Info.plist"
${SRCROOT} – 预定义,它指向您的项目位置.
$CONFIGURATION – 预定义,这是您的构建配置,在我的情况下:Debug,Prod.您可以在Xcode:Project(不是目标!) – >信息中更改此内容.
请注意,src / GoogleService-Info.plist文件必须不必要地添加到Xcode项目(.xcodeproj)和/ src / Resources / GoogleServiceInfoPlists / GoogleService-Info- *文件中.