Flutter添加sms_advanced插件后iOS端Xcode编译报错如何解决?
问题原因
编译报错是sms_advanced 1.0.1版本的iOS端代码存在官方bug,插件的Objective-C注册文件错误调用了不存在的SwiftSmsAdvancedPlugin类,实际已声明可正常调用的是SmsAdvancedPlugin类。
解决方案
方案1:升级插件版本(推荐)
该问题在插件后续版本已被官方修复,直接执行命令升级到最新稳定版即可:flutter pub upgrade sms_advanced升级完成后清理项目缓存重新构建:
flutter clean flutter pub get cd ios && pod install重新运行项目即可正常编译。
方案2:临时修改本地缓存的插件文件(适合暂时无法升级版本的场景)
打开本地Pub缓存中的对应文件:/Users/theUser/.pub-cache/hosted/pub.dartlang.org/sms_advanced-1.0.1/ios/Classes/SmsAdvancedPlugin.m
找到第13行代码:[SwiftSmsAdvancedPlugin registerWithRegistrar:registrar];修改为:
[SmsAdvancedPlugin registerWithRegistrar:registrar];保存后重新构建项目即可正常编译。
额外说明
iOS端短信发送功能仅支持真机运行,模拟器无相关能力,使用前请确认Info.plist中已添加对应权限声明。
内容的提问来源于stack exchange,提问作者Nasser MEHLEB
相关产品推荐
相关产品推荐

