xcode 如何在InfoPlist.strings文件中使用Info.plist中的变量?

vmpqdwk3  于 2022-11-17  发布在  其他
关注(0)|答案(1)|浏览(207)

我尝试使用Info.plist中的${PRODUCT_NAME}变量,但在本地化的InfoPlist.strings文件中使用它,当弹出通知时,它将显示应用程序名称。这可能吗?
当我尝试这样做的时候,我会得到一个带有正确语言的弹出窗口,但是它显示的是$(PROGRAM_NAME)而不是"My App Name" ...

Info.plist:
    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
        <string>${PRODUCT_NAME} would like to use your current location while using the app and in the background</string>

    InfoPlist.strings (EN):
    "NSLocationAlwaysAndWhenInUseUsageDescription" = "${PRODUCT_NAME} would like to use your current location while using the app and in the background";

    InfoPlist.strings (FR):
    "NSLocationAlwaysAndWhenInUseUsageDescription" = "${PRODUCT_NAME} souhaiteraient utiliser votre emplacement actuel en utilisant l'application et en arrière-plan";

6tqwzwtp

6tqwzwtp1#

基于此解决方案:https://stackoverflow.com/a/27886342/8874833
我创建了一个自定义运行脚本,并对其进行了如下修改:

for i in `dirname "${TARGET_BUILD_DIR}/${INFOPLIST_PATH}"`/*.lproj/InfoPlist.strings
do
    # replace App name in App bundle's info.plist 
    plutil -convert json "$i"
    sed -i -e 's/$(MY_APP_NAME)/'${MY_APP_NAME}'/g' "$i"
    plutil -convert binary1 "$i"
    rm "$i-e"

done

MY_APP_NAME是xcconfig中用户定义的值

相关问题