资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

iOS使用Target如何快速科学的区分开发环境详解-创新互联

前言

创新互联建站长期为近1000家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为秦都企业提供专业的成都网站设计、做网站、成都外贸网站建设公司秦都网站改版等技术服务。拥有十载丰富建站经验和众多成功案例,为您定制开发。

本文主要给大家介绍了关于iOS利用Target区分开发环境的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

什么是区分开发环境:

请求的域名+第三方SDK账号的不同。

  • 请求的域名-->因为开发环境和正式环境的服务器和数据库基本上都不是同一个。
  • 第三方SDK账号-->第三方SDK需要账号区分防止开发测试数据污染正式环境
    (推送+友盟统计是最明显的例子)

这篇文章要点:

  • 如何使用Target去区分开发环境
  • 如何在1的基础上面巧妙的区分第三方SDK的账号

最终目的

在打包的时候切换对应环境的Target进行编译即可获得对应的安装包。

引子:

开发APP区分环境是必不可少的话题,从 开发测试环境->pr环境->生产环境,甚至更多的环境,如何快速的进行管理是一个值得探讨的话题。

不少项目在这方面好像没有一个很好的解决方案导致项目到后期的时候第三方SDK的混乱以及各个环境之间的相互污染。虽然很多SDK已经提前给出了测试机的注册等等方案,但是个人觉得还是比较麻烦。所以我们公司在很早的时候iOS小组一起讨论出下面这种方案。已经在我们公司的后期开发的多个APP进行使用。

下面开始讲讲我们公司的解决方案吧(文章底部有Demo链接)

1.建立项目

2.将项目的target更改为dev环境的

iOS使用Target如何快速科学的区分开发环境详解

3.建立管理第三方平台的类目

这张有疑问不要紧,步骤完成后会详细讲解

iOS使用Target如何快速科学的区分开发环境详解

4.建立APPStore环境下对应的Target

在开发环境的Target上面右键Duplicate一个新的Target,并且修改Target名称为CBTDisTingGuishAppStoreEnvironment

5.修改Plist文件,对应上正确的Target

这时候你会看到多生成了一个Plist文件,不同的Target的Plist文件不共享我们需要修改这个Plist的对应关系以及名字。在修改plist名字的时候你会发现Target下面的对应的plist都空了,这时候就可以选择对应的plist文件了。

下面是新建好对应关系的Target和Plist文件

iOS使用Target如何快速科学的区分开发环境详解

6.ManagerScheme

修改对应的scheme名字,用于更好的辨认APP环境

iOS使用Target如何快速科学的区分开发环境详解

iOS使用Target如何快速科学的区分开发环境详解

7.上面步骤完成之后,打包之用切换Target进行编译即可获取对应环境的APP

(demo里面切换环境运行打印,你会发现得到的是不同的结果)

iOS使用Target如何快速科学的区分开发环境详解

这里来解释一下这个方案的核心

iOS使用Target如何快速科学的区分开发环境详解

文件

     a.分别定义两个环境的BundleID对应的宏

     b.定义了一个能够在不同环境下面获取到对应环境BundleID的宏

     c.定义根据不同环境区分不同的请求地址

     d.定义根据不同环境区分不同的sdk区域

用法:

kGetuiConfig[kBundleID][@"AppID"]

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站题目:iOS使用Target如何快速科学的区分开发环境详解-创新互联
URL链接:http://cdkjz.cn/article/dcosop.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220