美文网首页ios 开发
Xcode工程配置

Xcode工程配置

作者: iOS小洁 | 来源:发表于2022-12-16 23:46 被阅读0次

多环境配置

target,多Configuration

target:一个project中可以创建多个target,可以用来做分包、马甲包。

Configuration:在scheme中配置使用不同的Configuration,常用来做环境区分

target

缺点:

  1. 生成多个info.plist文件
  2. 配置繁琐且乱,容易配置遗忘其它targets
  3. 通过声明宏的方式,容易写错
  4. 真机测试需要的描述文件等比较多

优点:

  1. 包名可以不同,方便做分包,马甲包需求。
  2. 一个target代表一个应用,可以实现更多区分配置

Configuration

区分不同环境方式,可以在代码中区分。也可以通过在buildsetting中设置自定义参数

优点:

  1. 在 Building Settings 里所有的参数都对应不同的config,这就意味着可以设置不一样的Icons、图标、名称等等...
  2. 配置不同的scheme即可使用不同的配置,方便进行自动打包

缺点:

  1. 多个config配置,操作繁琐,可以用xcconfg文件对其进行优化

xcconfig文件

使用xcconfig可以通过管理文件的方式,管理不同的配置

使用xcconfig常见问题

1、xcconfig与cocoapods冲突

通过Cocoapods导入第三方库 $ pod install 后,我们的工程会自动配置成默认生效是使用了Pods-ProjectName.Debug.xcconfig的xcconfig,那我们自定义的xcconfig就没法生效了。

解决方案:

在自定义的xcconfig中导入Pods-ProjectName.Debug.xcconfig

xcconfig生效的地方设置成我们自定义的xcconfig文件即可。

#include "Pods/Target Support Files/Pods-LoginApp/Pods-LoginApp.debug.xcconfig"

2、配置url时//无法配置问题

在xcconfig文件中,双斜线为默认为注释

解决方案:

可以定义 A=/,双斜线换成{A}/

3、配置冲突

自定义config文件中设置OTHER_LDFLAGS与cocoapods生成文件中的OTHER_LDFLAGS冲突时,只有一个生效

解决方案:在配置前面加上$(inherited)

OTHER_LDFLAGS = $(inherited) -framework "AFNetworking"

优先级(由高到低)

  1. 手动配置Target Build Setting
  2. Target中配置的xcconfig文件
  3. 手动配置Project Build Setting
  4. Project中配置的xcconfig文件

xcode常见宏

TARGET_NAME:目标工程名称

SRCROOT:当前代码路径,工程文件(比如Nuno.xcodeproj)的路径

BUILD_DIR:当前编译的路径

BUILT_PRODUCTS_DIR:最终产品路径,build成功后的,最终产品路径--可以在Build Settings参数的Per-configuration Build Products Path项里设置

CURRENT_PROJECT_VERSION:当前工程版本号

PRODUCT_NAME:产品名字

CONFIGURATION:表示当前状态是调试Debug还是运行状态release

EFFECTIVE_PLATFORM_NAME:宏代表当前配置是OS还是simulator

PLATFORM_NAME = iphonesimulator 表示获取当前程序运行的平台

SDK_NAME

$(EXECUTABLE_NAME) = libUtilLib.a,表示可执行文件libUtiLib.a

相关文章

  • OpenCV for iOS 学习笔记(一)—— Mat - 基

    环境配置 : OpenCV在xCode中的安装与环境配置 使用xcode创建工程 使用cocoaPods 配置工程...

  • Xcode工程配置

    0X01导出Xcode工程 1.检查热更新配置 project_base.json等所有以project_开头的文...

  • Xcode工程配置

    多环境配置 多target,多Configuration target:一个project中可以创建多个targe...

  • Unity配置Xcode脚本

    Unity配置Xcode脚本Unity 5.x 打包Xcode工程自动添加framework、plist、lib、...

  • iOS Gcov 探测测试代码覆盖率

    iOS Gcov 探测测试代码覆盖率 1. Xcode工程设置 首先配置Xcode工程,生成对应的coverage...

  • iOS10适配

    一.工程改动 1. 工程配置 直接使用Xcode8Beta打开工程后,你会发现你的provisonfile配置出了...

  • Unity导出已配置好的Xcode工程

    在做完Xcode工程脚本化构建后Xcodeproj工程配置脚本化,领导提出直接在unity工程配置,导出就可以直接...

  • Xcode 新建工程文件详解

    首先做个Xcode 5 与 Xcode 7的对比: 工程初始配置 1、在Xocde 7工程之后中,没有了Frame...

  • iOS10适配

    一.工程改动 1. 工程配置 在Xcode8工程配置的general选项卡中,使用更详细signing选项替换了原...

  • iOS集成siri

    集成步骤 1.在Xcode项目配置中,将Siri置为可用状态。2.在Xcode工程中添加拓展target,同时配置...

网友评论

    本文标题:Xcode工程配置

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