基于Telegram二次开发 --- 打包篇

在 环境篇 ,我们在 步骤3 生成了一个 telegram-configuration 的文件夹,打开 telegram-configuration 文件夹,如图所示:

image.png

provisioning:真机运行以及打包 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 文件夹

image.png

我们能看到这就是打包时所需要的描述文件,这就需要我们到 苹果开发者中心 去生成对应的描述文件(如何生成对应的描述文件?看这个 issues),描述文件下载下来以后需要保持跟此文件夹的名字保持一致,然后将此文件夹的描述文件逐个替换;
如果 variables.bzl 文件中配置的是 dev 包,替换的就应是 Development 描述文件,配置 appstore 包,替换的就应是 App Store 描述文件

如果你不需要 watchApp 相关功能,你可以在 variables.bzltelegram_enable_watchFalse,然后将 provisioning 文件夹 WatchApp.mobileprovisionWatchExtension.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来到这里:

image.png

可以看到 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 包

image.png

你可能感兴趣的:(基于Telegram二次开发 --- 打包篇)