You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

升级至Xcode 11后原生链接失败,求助排查CTTelephonyNetworkInfo相关问题

问题根源与解决方案

没错,你碰到的这个链接器错误确实和iOS 12到14之间CTTelephonyNetworkInfo的API变更直接相关,升级到Xcode 11后问题凸显的核心原因是:Xcode 11对应iOS 13 SDK,而Xamarin.Essentials的Connectivity模块底层会调用这个类——在iOS 12及更高版本中,CoreTelephony框架不再被默认自动链接到项目里,导致链接器找不到_OBJC_CLASS_$_CTTelephonyNetworkInfo符号的定义,最终抛出报错。

解决步骤(两种方式二选一即可)

方式一:通过mtouch参数手动指定框架

  • 打开你的Xamarin.iOS项目(注意是iOS平台专属项目,不是共享代码项目)
  • 右键点击项目,选择选项(Options)
  • 在弹出的窗口里导航到iOS Build标签页
  • 在Additional mtouch arguments输入框中添加:-framework CoreTelephony
  • 保存配置,先清理项目再重新构建

方式二:直接引用CoreTelephony框架

  • 在iOS项目的References节点上右键,选择Edit References
  • 切换到iOS Frameworks标签页,找到并勾选CoreTelephony
  • 点击确定,重新构建项目

补充说明

Xamarin.Essentials的Connectivity模块依赖CoreTelephony框架来获取蜂窝网络状态的相关信息,当你升级Xcode后,项目默认使用的SDK版本切换到iOS 13+,此时系统不再自动链接该框架,必须手动添加才能让链接器找到CTTelephonyNetworkInfo类的定义,彻底解决链接失败的问题。

内容的提问来源于stack exchange,提问作者Tek Mun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 07:42:21