iOS Xcode build自动增长

iOS App版本号管理

App 版本号

将App 提交到App Store中,App的版本号是不允许重复的,只能往上增加版本号,在iOS中App的版本号是由两部分组成(Version+Build),一部分是大版本,另一部分是小版本;
大版本:对应于General中的Version,在Info.plist中的键为:CFBundleShortVersionString
小版本:对应于General中的Build,在Info.plist中的键为:CFBundleVersion

这里写图片描述

这里写图片描述

如果系统有重大版本发布,可以修改Version值,如果程序有小bug需要修复,但是又不想修改Version对应的值,修改Build也是可以的,例如1.0 + 1和1.0 + 2 是不同的版本。


手动修改Build

build的值可以进行累加的,可以通过手动修改,每次程序发布的时候手动修改一下,手动修改一个是可能会忘记修改,二是比较麻烦,三是手动修改的值可能会出现错误


通过shell脚本自动修改Build

可以通过shell脚本在程序Archive时对build号进行累加加1操作

具体操作步骤:

  1. 创建运行脚本 Run Script (选中Target–>Build Phases –> +)
    这里写图片描述
  2. 将下面shell脚本粘贴到Sehll中
if [ $CONFIGURATION == Release ]; then
echo "Bumping build number..."
plist=${PROJECT_DIR}/${INFOPLIST_FILE}

#increment the build number (ie 115 to 116)
buildnum=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "${plist}")
if [[ "${buildnum}" == "" ]]; then
echo "No build number in $plist"
exit 2
fi

buildnum=$(expr $buildnum + 1)
/usr/libexec/Plistbuddy -c "Set CFBundleVersion $buildnum" "${plist}"
echo "Bumped build number to $buildnum"

else
echo $CONFIGURATION " build - Not bumping build number."

fi

这里写图片描述
shell脚本中的第一行是一个判断如果 configuration == Release 就往下执行,其中configuration 的值有两个Release 、Debug
3. 将调试模拟器改为真机占位(这里写图片描述),选择菜单Product–>Archive进行打包,完成之后回到General中再看build值已经加1了;

如果想在Debug模式下测试build的值是否自动增加,可以将shell脚本中的第一行判断将Release该为Debug,然后直接Command + B ,之后就会发现build值由1变成2

本文参考codeYJ老师的文章:http://blog.sina.com.cn/s/blog_13ec67adc0102wimg.html

<think>好的,我现在需要帮助用户解决如何在使用Qt开发iOS应用时,通过Xcode构建并打包到设备上的问题。首先,我得回忆一下相关的步骤和可能遇到的常见问题。用户之前的问题可能涉及Qt与Xcode的集成,打包过程中的错误处理,以及如何配置项目。 根据引用内容,用户之前可能遇到了Xcode版本的问题,比如error:65,需要添加特定的框架到.pro文件,还有处理启动图片、图标和.plist文件的配置。引用[1]提到用户需要切换到Xcode来设置这些资源,而引用[2]指出添加LIBS路径和框架可以解决编译错误。引用[3]和[4]涉及环境搭建和发布流程,引用[5]则关于编译时的OpenGL问题。 接下来,我应该整理出详细的步骤。首先,确保Qt和Xcode环境正确配置,包括安装Qt的iOS组件和最新Xcode。然后,创建Qt项目时选择正确的模板,配置.pro文件,添加必要的模块和框架。接着,生成Xcode项目,并在Xcode中配置签名、图标、启动图等。构建后可能需要在Xcode中处理依赖或调整设置,比如.plist文件。最后,打包成IPA并通过AdHoc或TestFlight分发,或者直接连接设备安装。 同时,常见问题如Xcode版本过低、签名错误、缺少框架都需要提及解决方案。比如引用[3]中的Xcode版本警告,用户可能需要修改.prf文件或升级Xcode。引用[2]中的error:65可能需要添加VideoToolbox等框架。另外,确保.plist配置正确,引用[1]中提到使用QMAKE_INFO_PLIST指定自定义文件。 最后,生成相关问题,帮助用户深入理解可能遇到的后续问题,比如如何处理签名错误、调试技巧、优化包体积等。需要确保回答结构清晰,步骤明确,并参考之前的引用内容提供解决方案。</think>以下是在Qt开发iOS应用时通过Xcode构建和部署的详细指南,整合了Qt与Xcode的协同工作流程: ### 一、环境准备 1. **安装Qt iOS组件** 在Qt安装器中勾选$iOS$组件,确保包含`Qt for iOS`和`Qt Creator`模块 2. **Xcode配置** - 安装最新版Xcode(推荐14+) - 命令行工具安装: ```bash xcode-select --install ``` - 创建免费开发者证书(若需真机调试) ### 二、项目配置 1. **创建Qt项目** 使用`Qt Quick Application - iOS`模板新建项目 2. **.pro文件设置** ```qmake QMAKE_INFO_PLIST = Info.plist # 自定义.plist文件[^1] QT += quick network # 添加必要模块 LIBS += -framework VideoToolbox -framework CoreMedia # 处理视频相关依赖[^2] ``` 3. **Xcode项目生成** 在Qt Creator中点击`Projects → BuildBuild for iOS`,自动生成Xcode工程文件(位于项目目录的iosBuild文件夹) ### 三、Xcode部署配置 1. **签名设置** 打开.xcodeproj文件后: ```markdown - Target → Signing & Capabilities → 勾选Automatically manage signing - 选择Team后会自动生成Provisioning Profile[^3] ``` 2. **资源文件配置** | 文件类型 | 存放路径 | 格式要求 | |----------------|-------------------------|-------------------| | App图标 | Assets.xcassets | 1024x1024 PNG | | 启动图 | LaunchScreen.storyboard | 适配各机型尺寸 | | 自定义字体 | Resources文件夹 | .ttf/.otf | 3. **特殊配置调整** ```xml <!-- Info.plist新增权限声明示例 --> <key>NSPhotoLibraryUsageDescription</key> <string>需要访问相册保存图片</string> ``` ### 四、构建与部署流程 1. **设备连接** 通过USB连接iOS设备后,Xcode顶部栏会出现设备选择列表 2. **编译部署** ```bash xcodebuild -workspace MyApp.xcworkspace -scheme MyApp -configuration Debug ``` 3. **常见问题处理** - **Xcode版本错误**:修改`.prf`文件中的版本检测逻辑[^3] - **框架缺失错误**:在.pro添加`LIBS += -framework CoreVideo`[^2] - **OpenGL错误**:在main.cpp添加图形初始化代码[^5] ### 五、打包分发 1. **生成IPA文件** 在Xcode中选择`Product → Archive`,导出时选择: ```markdown - Ad-Hoc:测试分发(需添加设备UDID) - App Store:正式发布 ``` 2. **第三方分发平台** 使用蒲公英等平台上传IPA文件,生成安装二维码[^4]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风流 少年

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值