使用mpaas的iOS客户端如何一包支持任意环境切换

一个包任意切换不同测试环境是一直想做的。

以前开发任务少,打包少,就感觉和自己离的远。

这几天重新提起,于是用了三天时间,分析思路与实现。

记录一下这份喜悦。

首先mpaas客户端切换环境需要更改6个位置的配置代码文件:无线保镖图片,info.pllist,配置文件(纯文本),还有3个代码文件。

1.info.pllist 通过重写系统的NSBundle类的infoDictionary属性的set方法实现。这个在之前的博客中已经写过不再复述。链接:更改bundleid后蚂蚁金服MPSafeKeyboard的安全键盘不显示的解决办法

2.配置文件(纯文本)通过

    方法一:fishhook系统open方法(实践表明只有第一次安装客户端才会走open)

    方法二:hook系统NSBundle的- [pathForResource:ofType:],然后替换为相应文件

3.代码文件通过全局变量或沙盒标记,直接判断

4.无线保镖图片通过

  方法一:对系统NSData由file创建方法

  方法二:UIimage由file创建方法,

  方法三:NSBundle路径获取方法,

 

猜你喜欢

转载自blog.csdn.net/qq_15509071/article/details/104533265