美文网首页
Xcode 常用使用技巧

Xcode 常用使用技巧

作者: 何伟东 | 来源:发表于2018-12-05 17:00 被阅读0次

Xcode 常用使用技巧

常有一些开发的童鞋,在iOS或者macOS平台上已经开发好几年,可能会应为没有机会去了解Xcode的一些常用技巧,使得开发的便捷性不高。我们在开发过程中可能不是一个单一的服务器环境,小公司一般分为dev【开发环境】、release【正式环境】两个接口域名来跑服务,还有的公司可能会有些企业马甲包。业务和部门完善的公司可能还会有qa部门,也就是测试部门,测试部门还需要qa的环境。我们在测试环境和开发环境使用的第三方SDK的appid往往也不一样,如果不了解一些Xcode的使用技巧,通过手动的方式来修改代码的配置常量可能容易出现疏漏的风险。还有的公司使用jinkens来自动化打包和上传到测试平台,比如腾讯的bugly和蒲公英,这样就更需要我们配置工程来实现一些自动化的过程,本文目的就是要研究了解如何灵活运用xcode的配置来实现不同环境的打包和编译。

常用概念功能和配置

1、Configuration

首先我们来了解一席这个configuration得概念,再xcode工程中,我们建立好一个工程xcode会给我们生成两个Configuration,就是我们常说的debug和release。一般情况下我们不需要修改这两个环境,但是往往公司有qa环境的时候我们就需要加一环境,比如Debug-Qa,这个时候我们可以在工程的Project配置的Info->Configuration下点击+号如果是开发或者测试环境我们可以选"Duplicate Debug Configuration"意思是复制一份Debug的配置,如图:我们重命名为Debug-Qa

add_configuration.png

这样我们就多出一个环境,通常我们还需要根据不同的环境给不同的配置,常用的最最常用的就是我们常在工程里这样写,来判断当前运行的环境。

#ifdef DEBUG
    //do sth.
#else
    //do sth.
#endif

既然我们加了一个Debug-Qa的Configuration,我们就可以实现多加一个DEBUG_QA的环境判断,例如。

#ifdef DEBUG
    //do sth.
#elif DEBUG_QA 
    //do sth.
#else
    //do sth.
#endif

不过DEBUG_QA 需要去工程的Buid Setting去配置Preprocessor Macros,如图填写DEBUG_QA=1,这样我们就可以在工程车里去判断当前跑的是那个配置了,我们需要结合schema来配置跑哪一个Configuration。

WX20181205-154409.png

2、schema

WX20181205-160822@2x.png

首先我们通过这个Edite Schema...打开窗口,我们可以看到Build、Run、Test、Profile、Analyze、Achive这几个选项和对应的配置,常用的是Info里的Configuration,如图Run用的是Debug、Archive用的是Release环境,由于上面我们新建了Debug-Qa,这时候我们可以任意修改为Debug-Qa,这样我们跑的就是我们自己定义的环境了。

WX20181205-161459.png

但是为了方便我们一般不这样做,应为这样我们在打包的时候还要改来改去,很是麻烦。通常我们会点击左下角的Deplicate Schema来复制一个Schema,比如我们取名叫Learning-Qa


WX20181205-161816.png

这样就可以用我们选定的schema来配置我们自己新加的Configuration Debug-Qa 了,我们再编辑Learning-Qa的Build Configuration为 Debug-Qa,这样我们新的schema算是简单的制作完成了。

3、Bundle Identifier 和Display Name
通常情况下我们还有可能不同的Configuration有不同的bundle id,这也是可以修改的,如图在build setting里去设置。


WX20181205-162548.png

由于bundle id的不同,其实这就相当于一个不同的app,通过模拟器,我可以看到两个名字相同的app。


WX20181205-162844.png

那么我们怎么来区分这个两个app呢,有时候我们可能在同一个设备上安装同一个app的开发环境、qa环境、和release环境,下面我们就来讲一讲通过Add Build Setting来区分。

4、Add Build Setting

点击Xcode的工具栏的Edite->Add Build Setting->Add Use Define Setting,这是你可能看到这个选项是灰色不可点击状态,这个是应为Xcode不知道你需要在哪里加这个配置,你需要点击TARGETS->Building Setting 任意选中一项,如图我们来加一个DISPALY_NAME_SUFFIX,用来后缀来区分App显示的名字,如图我们配置一个-Qa的值


WX20181205-163909.png

这样我们可以通过引用符号来配置DisplayName,在Generral选项配置


WX20181205-164105.png
这时我们再来运行qa环境的schema就可以看到app的名字区别了。
WX20181205-164420.png

我们可以利用Add Use Define Setting这种方式来区分各种不同的参数,具体就需要发挥你的想象力了,比如不同的第三方SDK的URL Types【info->URL Type】的参数,因为不同环境的appid和URL Schema是不相同的,比如测试和生产环境的微信和支付宝区分等,还有不同环境的开屏图和Icon的设置都可以通过这种方式来实现。


WX20181205-165943.png

5、Signing 证书及描述文件
不同环境有不同的bundle id,不同的bundle id 会对应不同的描述文件,只需要配置不同环境的描述环境就可以了,在General的Signing去选择苹果Developer开发后台制作好的描述文件。

相关文章

网友评论

      本文标题:Xcode 常用使用技巧

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