Telegram iOS開源路徑:https://github.com/TelegramMessenger/Telegram-iOS
Bazel:https://github.com/bazelbuild/bazel/releases
整個編譯過程丽啡,主要以Telegram的操作命令行為主字旭,本文只記錄一些報錯點
代碼不完整導致的未知錯誤
推薦使用SourceTree拉取源碼坐儿,項目包含了很多submodules,在國內拉取叛本,最常見的就是主項目拉取成功,但是部分submodules沒有拉取下來,最后會造成很多未知錯誤晰搀。
submodules有很多嵌溢,需要每一個submodules都能雙擊打開git詳情頁眯牧,這樣可以確保所有的代碼都拉取成功了!
Xcode版本不符
version.json文件包含APP版本號赖草、Bazel版本號学少、Xcode版本號。不建議修改Bazel版本號秧骑,Xcode可以修改小版本版确,但是不要跨越大版本號
打包報錯:not inside workspace
Telegram項目存儲路徑不可以包含中文
修改variables.bzl文件
variables.bzl修改注意事項:
telegram_aps_environment對應的內容'development'、'production'
telegram_enable_siri乎折、telegram_enable_icloud绒疗、telegram_enable_watch = True這三項是代表是否開啟拓展,如果你要生成并調試拓展的項目笆檀,這三項必須為True
關于描述文件
項目需要的描述文件比較多忌堂,其中Telegram.mobileprovision為主描述,這個描述一定要包含App Group酗洒、iCloud士修、apns、內購權限樱衷,如果怕麻煩棋嘲,生成描述的時候,可以把所有的權限都勾上矩桂。
其他的描述沸移,都按照普通APP描述去創(chuàng)建就可以,其中BroadcastUpload需要跟主項目關聯App Group關系侄榴。
編譯過程還碰到很多問題雹锣,后續(xù)想起來再更……