iOS的多版本配置(版本分离,多环境配置)

时间:2022-12-13 10:03:56

前几天公司说一个客户要搞一个app,我说搞呗,跟我啥关系...他说,就是从咱的app上搞,什么都一样,就是一些logo啥的不一样.我一开始感觉,那就改改logo呗,后来一想,凑,百度推送,友盟统计,BugTags等等这些每次都要改,一个不小心不就玩脱了,索性就搞个多版本配置.废话不多说,开搞!

1、先备份一下你的工程,改提交的提交了,万一一个搞不好,至少还能revert嘛。

2、首先先复制一个target(当然也可以新创建一个,但是我的大部分配置都跟以前一样,索性就复制了)

iOS的多版本配置(版本分离,多环境配置)

iOS的多版本配置(版本分离,多环境配置)

2、给复制的Target改个名吧,我起的工程名太长了。。。

iOS的多版本配置(版本分离,多环境配置)

3、新建一个对应的scheme,其实你在复制target的时候,xcode已经给你创建了一个,你可以改个名啥的。。。

iOS的多版本配置(版本分离,多环境配置)

iOS的多版本配置(版本分离,多环境配置)

iOS的多版本配置(版本分离,多环境配置)

我把它删掉,新创建一个,改个名顺便浪一下。。。

iOS的多版本配置(版本分离,多环境配置)

iOS的多版本配置(版本分离,多环境配置)

iOS的多版本配置(版本分离,多环境配置)

iOS的多版本配置(版本分离,多环境配置)

4、创建新的target的info.plist文件,复制原来的info.plist文件以保持配置一致。我把随之生成的那个plist文件删掉了,可能是路径不对,提交代码时提交不上。

iOS的多版本配置(版本分离,多环境配置)

iOS的多版本配置(版本分离,多环境配置)

5、对新创建的target进行修改配置,比如dispaly Name,bundle id,LaunchScreen,APPIcon等等

dispaly Name:在新创建的info.plist文件中添加Bundle display name

bundleID就不用说了,直接在复制的target里修改就好了

LaunchScreen:需要创建一个新的LaunchScreen,然后在复制的target里选择

iOS的多版本配置(版本分离,多环境配置)

iOS的多版本配置(版本分离,多环境配置)

APPIcon:

iOS的多版本配置(版本分离,多环境配置)

6、如果工程使用了cocoapods,记得也要给新创建的Target安装一份,很简单,打开podfile,然后复制一份,改下target的名字在pod install就好了

iOS的多版本配置(版本分离,多环境配置)

7、如果需要修改一些代码里的配置,就用预处理吧

iOS的多版本配置(版本分离,多环境配置)

在你的全局配置类里进行判断,这里面写一些宏定义,比如百度推送的Key之类的

iOS的多版本配置(版本分离,多环境配置)

8、记得配置推送证书和开发发布的配置文件,毕竟这些都是以bundleID标记的,不配置的话无法真机测试,发布以及收不到推送哦

至此,我的多环境配置就搞好了,当然我的两个app的区别比较少,其他的一些配置同学自己去探索吧

iOS的多版本配置(版本分离,多环境配置)的更多相关文章

  1. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  2. 史上最全Windows版本搭建安装React Native环境配置

    史上最全Windows版本搭建安装React Native环境配置 配置过React Native 环境的都知道,在Windows React Native环境配置有很多坑要跳,为了帮助新手快速无误的 ...

  3. 【学习总结】GirlsInAI ML-diary day-2-Python版本选取与Anaconda中环境配置与下载

    [学习总结]GirlsInAI ML-diary 总 原博github链接-day2 Python版本选取与Anaconda中环境配置与下载 1-查看当前Jupyter的Python版本 开始菜单选J ...

  4. cocos2dx系列笔记(2)- windows环境配置后续之 Android环境配置

    续上篇 对于想用cocos2dx来开发Android游戏的人来说,最痛苦的莫过于配置Android环境和之后的奇奇怪怪的编译失败问题.这是经历了多次成功与失败之后,血与泪的经验包,大家请收好.如果你有 ...

  5. windows下JDK环境配置与Android SDK环境配置

    一.JDK环境配置1.配置变量名:JAVA_HOME变量值:jdk安装的绝对路径. 变量名:Path(在系统变量中找到并选中Path点击下面的编辑按钮,不要删除原本变量值中的任何一个字母,在这个变量值 ...

  6. Android代码编译环境配置 “Gerrit和Git环境配置”

    Gerrit和Git环境配置可以参考<git&gerrit操作指导> 步骤1. 先在Gerrit中创建新的账户: 步骤2. 在新的客户端上生成密钥(可以使用的是生成的公钥): 步骤 ...

  7. Windows版本搭建安装React Native环境配置及相关问题

    此文档整理参考地址: http://www.lcode.org/%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86windows%E7%89%88%E6%9C% ...

  8. 史上最详细Windows版本搭建安装React Native环境配置

    说在前面的话: 感谢同事金晓冰倾情奉献本环境搭建教程 之前我们已经讲解了React Native的OS X系统的环境搭建以及配置,鉴于各大群里有很多人反应在Windows环境搭建出现各种问题,今天就特 ...

  9. react-native学习笔记--史上最详细Windows版本搭建安装React Native环境配置

    参考:http://www.lcode.org/react-native/ React native中文网:http://reactnative.cn/docs/0.23/android-setup. ...

随机推荐

  1. Linux平台 Oracle 10gR2(10&period;2&period;0&period;5)RAC安装 Part1:准备工作

    Linux平台 Oracle 10gR2(10.2.0.5)RAC安装 Part1:准备工作 环境:OEL 5.7 + Oracle 10.2.0.5 RAC 1.实施前准备工作 1.1 服务器安装操 ...

  2. 在Mac OS X上用自己编译出的CoreCLR运行&period;NET程序

    当昨天被Mac OS X上无法编译CoreCLR的问题困扰时(详见Mac OS X上尝试编译CoreCLR源代码),后来发现这个难题竟然被神人@kangaroo给解决了,连CoreCLR的微软开发人员 ...

  3. MongoDB &lpar;五&rpar; MongoDB 数据库操作

    一.MongoDB创建数据库: use 命令 MongoDB use DATABASE_NAME 用于创建数据库.该命令将创建一个新的数据库,如果它不存在,否则将返回现有的数据库. 语法: use D ...

  4. C&plus;&plus;标准库的数值极限numeric&lowbar;limits

    包含头文件:#include<limits> 它是一个模板类,它主要是把C++当中的一些内建型别进行了封装,比如说numeric_limits<int>是一个特化后的类,从这个 ...

  5. java基础知识汇总

    1.     类的访问控制权限共有两种:public和默认.默认级别的类只能被同一个包中的类看到,包外不可见. 2.     类成员的访问权限共有四种:public,protected,private ...

  6. 面向对象15&period;3String类-常见功能-获取-2

    public class String_APImethod {/* * 1.4获取字符串中的一部分字符串,也叫字符串 * String substring(int beginIndex, int en ...

  7. Object详解(转)

    Object类是Java中其他所有类的祖先,没有Object类Java面向对象无从谈起.作为其他所有类的基类,Object具有哪些属性和行为,是Java语言设计背后的思维体现. Object类位于ja ...

  8. AutoIt介绍

    AutoIt的下载网址: https://www.autoitscript.com/site/autoit/downloads/ AutoIt在线文档:http://www.autoit3.cn/Do ...

  9. Linq中left join之多表查询

    using System; using System.Collections; using System.Collections.Generic; using System.Data; using S ...

  10. lintcode-81-数据流中位数

    81-数据流中位数 数字是不断进入数组的,在每次添加一个新的数进入数组的同时返回当前新数组的中位数. 说明 中位数的定义: 中位数是排序后数组的中间值,如果有数组中有n个数,则中位数为A[(n-1)/ ...