美文网首页js css html
基于Telegram二次开发 --- 打包篇

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

作者: 试图与自己和解 | 来源:发表于2022-11-23 14:34 被阅读0次

    环境篇 ,我们在 步骤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
    我们能看到这就是打包时所需要的描述文件,这就需要我们到 苹果开发者中心 去生成对应的描述文件,描述文件下载下来以后需要保持跟此文件夹的名字保持一致,然后将此文件夹的描述文件逐个替换;
    如果 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二次开发 --- 打包篇

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