在 环境篇 ,我们在 步骤3 生成了一个 telegram-configuration 的文件夹,打开 telegram-configuration 文件夹,如图所示:
image.pngprovisioning:真机运行以及打包ipa所需描述文件存放的文件夹
variables.bz:bazel构建项目时的配置
我们需要更改的就是 provisioning 文件夹和 variables.bzl 配置文件
1、打开 variables.bzl 配置文件
telegram_bundle_id = "xxx.xxxxx.xxxxxx"
telegram_api_id = "8"
telegram_api_hash = "7245de8e747a0d6fbe11f7cc14fcc0bb"
telegram_team_id = "xxxxxxxx"
telegram_app_center_id = "0"
telegram_is_internal_build = "true"
telegram_is_appstore_build = "false"
telegram_appstore_id = "xxxxxxxxx"
telegram_app_specific_url_scheme = "tg"
telegram_aps_environment = "development"
telegram_enable_siri = True
telegram_enable_icloud = True
telegram_enable_watch = True
- telegram_bundle_id:自己项目的Bundle ID
- telegram_team_id:开发者账号的teamID
- telegram_is_internal_build:dev包填 true,appstore包填 false
- telegram_is_appstore_build:dev包填 false,appstore包填 true
- telegram_appstore_id:上架后AppStoreID,未上架可以不用改
- telegram_aps_environment:打包模式,dev包填 development,appstore包填 production
- telegram_enable_siri:是否需要配置siri功能
- telegram_enable_icloud:是否需要配置iCloud功能
- telegram_enable_watch:是否需要配置watch App
根据自己需求填写完毕后,我们接着进行下一步
2、打开 provisioning 文件夹
我们能看到这就是打包时所需要的描述文件,这就需要我们到 苹果开发者中心 去生成对应的描述文件,描述文件下载下来以后需要保持跟此文件夹的名字保持一致,然后将此文件夹的描述文件逐个替换;
如果 variables.bzl 文件中配置的是dev包,替换的就应是Development描述文件,配置appstore包,替换的就应是App Store描述文件
如果你不需要watchApp相关功能,你可以在 variables.bzl 中 telegram_enable_watch 填 False,然后将 provisioning 文件夹 WatchApp.mobileprovision 和 WatchExtension.mobileprovision这两项删除,同时打开 BUILD 删除掉文件中对应的这两项;其他两个以此类推。
3、真机运行
cd Telegram-iOS
python3 build-system/Make/Make.py \
--cacheDir="$HOME/telegram-bazel-cache" \
generateProject \
--configurationPath="$HOME/telegram-configuration" \
--disableExtensions
跟生成xcode项目命令相比,少了一个操作指令
--disableProvisioningProfiles
这个指令是忽略掉描述文件构建xcode项目,而我们已经配置好了我们的描述文件,所以不要执行忽略指令,让脚本根据我们的描述文件重新构建工程。
执行完毕,我们打开xcode来到这里:
可以看到Bundle Identifier是我们前两步配置的Bundle ID,可以勾选 Automatically manage signing让xcode自动管理配置文件,也可以手动在Provisioning Profile选择对应的描述文件;设置完毕就可以在真机上运行了。
4、打包ipa
cd Telegram-iOS
python3 build-system/Make/Make.py \
--cacheDir="$HOME/telegram-bazel-cache" \
build \
--configurationPath="$HOME/telegram-configuration" \
--buildNumber=100001 \
--configuration=release_universal
- --buildNumber:熟悉开发上架的都应该知道这是啥,传appstore的时候同版本自增就行
- --configuration:打包ipa没特殊要求的话,就是默认 release_universal,如果要打debug包的话,就改为 debug_universal
5、ipa包位置
打包成功后,打开 Telegram-iOS 然后根据终端输出的路径去找ipa包
网友评论