美文网首页
iOS 多Target中对infoPlist的本地化处理

iOS 多Target中对infoPlist的本地化处理

作者: xiacheng | 来源:发表于2020-09-19 12:17 被阅读0次

    一、问题描述

    公司有两个类似的项目,暂称为A和B,B是在A的基础上进行功能裁剪生成的,原来的做法一般是在A做完后,再重新基于A拉分支,重新修改再出版本。最近,在做工程的合一,想要把两个的工作合到一条分支上,自然就想到了XCode中多target的方法,其他都很顺利,网上也有很多教程。

    但由于应用是支持多语言的,且不同语言下要显示不同的名称,在infoplist 的本地化方面遇到了一些问题,导致应用名不能根据语言来显示。最终通过各种查找,在stack overflow上找到了解决方法,来纪录一下。

    二、解决方法

    假设这里,你已经配置好了其他多Target相关除了infoPlist的其他配置,在Duplicate一个target后,XCode会给你自动生成一个infoplist文件,如下图


    image.png

    如果工程中不涉及到infoplist的本地化,可以直接在这个infoplist中修改相应的配置即可,XCode中已为你指定该infoPlist。


    image.png

    如果涉及到本地化的话,就需要删除此文件,重新进行创建和配置,步骤如下:

    Step 1:

    添加一个新的infoplist.strings文件到工程中,这里的Lock.Free文件夹,是新创建的用来放与主线工程不一致的资源文件的文件夹。Target只选择Lock.Free这个target


    image.png image.png
    Step 2:

    勾选多语言,对该infoPlist文件进行本地化


    image.png image.png
    Step 3:

    在Build Settings 中配置路径


    image.png
    运行后效果:

    英文


    image.png

    中文:


    image.png
    参考文章:

    iOS 设置APP的名称
    Localized project with several targets with localized app names
    iOS中多Target的实现

    相关文章

      网友评论

          本文标题:iOS 多Target中对infoPlist的本地化处理

          本文链接:https://www.haomeiwen.com/subject/dnleyktx.html