面试题

马甲包心得

2019-08-17  本文已影响0人  晨阳Xia

马甲包配置步骤

1.复制target

1. command + D 复制targe,会生成一个targetName copy名称的target
   例如:
   wechat -> commond + D -> wechat copy (新生成的terget 的名称) .此时会同步生成一个名为 wechat copy-info.plist的plist文件。这个plist文件就是我们比较熟悉的plist文件。

2.添加scheme

1.在Xcode中找到 New scheme,建立新的scheme,名称选择我们copy后的target。此时的名字填写你希望生成的app的名字 wechat

3.修改targetName、 schemeNmae 以及 targetName copy-info.plist的名称

1.修改targetName名字,wecaht copy(targetName例子拷贝后的target名称)注:带有copy的target名字不做修改也没有问题,但是为了便于区分,我们最好是做名称修改。)
2.修改wechat copy-info.plist名称 为wechatInfo.plist
3.修改scheme的名字,如果你定义的名字就是你将要生成的app的名字,则无需修改。
注:修改名字只是为了统一。方便维护。

4.修改配置 target文件中的配置 (这一步最重要,而且很容易出错)

1、此时运行项目会提示找不到wechat copy-info.plist文件目录。此时需要我们点击对应的 target,点击 build setting -> packaging (找到info.plist选项)将里面的地址替换为(工程中plist文件的文件目录/wechatInfo.plist)
2.这样,一个基本的马甲包配置就搞好了

5.如果你的配置里有桥接文件你还遇到 找不到桥接文件的头文件的问题

进入 Swift Compiler - General ,找到 Objective-C Bridging Header 将路径修改为 $(SWIFT_MODULE_NAME)-Swift.h to $(PROJECT_NAME)-Swift.h

参考链接

6.根据不同的项目创建不同的Debug 和 release

例如:
appOne:DEBUGONE  和 RELEASEONE
appTwo:DEBUGTWO  和 RELEASETWO
进入Preprocess macros -> 直接在Debug 中添加一个 DEBUGON=101 ,Release 中添加一个 RELEASEONE=102,即可生效。等号两边不能有空格

下面列举一下我在同一包内配置多个product遇到问题借鉴的文章,在这里向作者表示感谢!!!

Xcode中同一Project创建多个target的总结

iOS app配置多环境变量和制作马甲包

iOS app配置多环境变量和制作马甲包

按照上面的文章配置不会有大的问题,因为工程内部的文件特殊性,出现了几个上面文章没有涉及到的问题,在这里我会一一列举,并根据自己接下来遇到的新坑不断更新。

坑1、 因为生成了多个target导致找不到 targetName.Swift.h 文件

ModuleName-Swift.h file not found in xcode8

上一篇 下一篇

猜你喜欢

热点阅读