2

我在使用NEW Telegram iOS 应用程序源代码时遇到问题。

简短的问题:

我尝试连接时总是出现CONNECTION_API_ID_INVALID错误。有人解决这样的问题吗?


长问题:

我已经下载了他们的 源代码 所以,我确实通过替换TGTelegraph.mm来修复断言:

NSAssert(false, @"Please obtain your own apiId and apiHash at https://my.telegam.org");

和:

_apiId = @"my_api_id"; // Number 
_apiHash = @"my_api_hash"; // Hash string

我也在TGTelegramNetworking.mm中评论了相同的断言

//NSAssert(false, @"Please obtain your own apiId at https://my.telegam.org");

结果总是一个错误:

[MTRequestMessageService#0x1a3c2770 in response to 6129750297537847296 400: (null):CONNECTION_API_ID_INVALID]

我试过了:

  • 将 api_id 和 api_hash 替换为另一个私有(当前使用旧代码)
  • 将 api_id 和 api_hash 替换为 Telegram 使用旧公共代码提供的另一个公共 api_id 和 api_hash。
  • 将TGTelegramNetworking.mm更改MTDatacenterAddresshttps://my.telegram.org/apps提供的 IP
  • 将TGTelegramNetworking.mm更改MTDatacenterAddress为旧源代码提供的 IP
  • 在上面的列表中尝试不同的组合。

我发现:

  • TGTelegramNetworking.mmMTDatacenterAddress中的更改 仅在应用重新安装后适用
  • 公钥也停止在旧代码中工作。
  • 成功检查服务器的指纹(开发控制台中的最后一个字段)

有人遇到过同样的问题吗?任何人都可以建议尝试一下吗?实际上,我用完了 varians 来解决这个问题。

4

3 回答 3

3

我终于完成了我的搜索。你需要在 TGTelegramNetworking.mm 中代替第二个 Assetion 输入以下代码

apiEnvironment.apiId = your_app_id_as_number;

我希望这个答案能为某人节省时间,因为我花了几天时间。

于 2015-03-24T13:45:23.410 回答
0

我补充上面的答案

TGTelegramNetworking.m 位于 /Telegraph/Core/Network

于 2015-04-21T16:29:37.197 回答
0

我知道这已经过时了,但如果有人需要,现在他们在

/Telegraph/TGTelegraph.mm

形式为

getAppPrefs.api_id = id_as_number;
getAppPrefs.api_hash = @"hash_as_string";
于 2017-06-07T21:41:01.257 回答