V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rix
V2EX  ›  Telegram

如何編譯 Telegram-iOS 並在 TestFlight 上分發

  •  1
     
  •   rix · 2020-10-30 13:43:04 +08:00 · 1868 次点击
    这是一个创建于 1519 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我有 C/C++ 編譯經驗,但是第一次接觸 Objective-C/Swift 和 iOS 相關的編譯。

    我按照官方給出的 Reproducible Builds 指引可以編譯 7.1.1 的 IPA 。跟官方指引不同的地方在於我根據源碼中的提示使用了 XCode 11.5 而不是 11.2.1 。

    然後我嘗試用 altool 上傳編譯好的 IPA 卻出現這樣的錯誤:

    xcrun altool --upload-app -f build/Telegram_signed.ipa -t ios -u [email protected]
    [email protected]'s password:
    2020-10-22 00:24:14.708 altool[63845:710730] CFPropertyListCreateFromXMLData(): Old-style plist parser: missing semicolon in dictionary on line 1. Parsing will be abandoned. Break on _CFPropertyListMissingSemicolon to debug.
    2020-10-22 00:24:14.921 altool[63845:710723] *** Error: Error uploading 'build/Telegram_signed.ipa'.
    2020-10-22 00:24:14.923 altool[63845:710723] *** Error: code -22014 (Unable to validate your application. We are unable to create an authentication session.)
    

    我想問問各位如何才能在 TestFlight 上分發自己編譯的 Telegram 呢?

    至於爲什麼我要用 TestFlight 分發自己編譯的 Telegram,根本原因是我希望家人之間的聊天能搬到 Telegram 上進行,原因主要是因爲微信不給保存雲端記錄,很多以前的照片視頻如今都找不到了。Telegram 的話沒有這個問題,能更好地記錄家人之間的活動歷史。而大部分家人都沒有技術基礎,搞不來 富強 那一套,所以目前的想法就是自己編譯一個 Telegram,把服務器節點換成自己私有的,家人只要裝個 TestFlight 就能安裝,而不需要太多的配置操作。

    有人說我可以指引他們配置 Telegram 內部的 MTProto,這點我試過了,當你還沒有帳號且沒有 富強 的時候,在歡迎界面會卡在 Start Messaging 處。這個有一定概率發生,有些人可以順利進入下一步,有些人就一直被卡在那一步,很不穩定。然而不進入下一步就無法設置 MTProto,所以這條路並走不通。

    8 条回复    2020-11-03 02:22:20 +08:00
    FireFoxAhri
        1
    FireFoxAhri  
       2020-10-30 13:57:59 +08:00 via Android
    我也想过自己编译但是你把服务器节点换成自己的能连接吗
    rix
        2
    rix  
    OP
       2020-10-30 14:34:02 +08:00
    @FireFoxAhri 服務器節點定義兼容 MTProto 節點
    Hyseen
        3
    Hyseen  
       2020-10-30 15:44:30 +08:00
    注册苹果开发者账号了吗?
    rix
        4
    rix  
    OP
       2020-10-30 16:38:22 +08:00
    @Hyseen 有的,給了錢的,也創建了 App 了
    paradoxs
        5
    paradoxs  
       2020-10-30 16:40:12 +08:00
    搞不了的,tg 服务端部分不开源。 自己弄,难度很高。 要一个 一个功能对接。
    rix
        6
    rix  
    OP
       2020-10-30 16:44:46 +08:00
    @paradoxs 不你理解錯了,我不是要搭私服。TG 官方的 MTProto 是專用的轉發代理,只要把 TG 原始服務器節點換成自建的 MTProto 節點就能達到 富強 的效果,而不需要建立私服
    Elaine1989
        7
    Elaine1989  
       2020-11-01 15:50:30 +08:00 via iPhone
    沒遇見卡住的情況,客戶端在請求發送驗證碼失敗後會自動詢問代理
    再說這東西登陸一次之後就不用弄了,用得著費這麼大勁嘛?
    家裡人難道感覺每 90 天更新一次應用不煩的嘛?
    rix
        8
    rix  
    OP
       2020-11-03 02:22:20 +08:00
    @Elaine1989 都說了這是有一定概率的。給你看看卡住的情況是怎樣的: https://imgur.com/Ntlx03h
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3124 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 10:52 · PVG 18:52 · LAX 02:52 · JFK 05:52
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.