【问题标题】:is there a way to exclude a package from iOS in flutter?有没有办法在颤动中从 iOS 中排除一个包?
【发布时间】:2020-10-19 13:37:54
【问题描述】:

我正在使用仅适用于 Android 的包“sms_maintained”。

但是,该项目需要一个 iOS 版本,而我目前正在做的是在为 iOS 开发时删除包。

如何将包保存在 pubspec.yaml 文件中,但禁止 iOS 检入包?目标是拥有统一的代码库。

我已尝试使用排除 Podfile 中的包

skip_line_start_symbols = ["#", "/","sms_maintained"]

它会跳过包,但在构建过程中会引用自动生成的 GeneratedPluginRegistrant。

任何帮助将不胜感激,谢谢。

【问题讨论】:

  • 我只是想知道如果不排除包有什么问题?你应该检查 iOS 的实现,我很确定它会返回一个默认响应。
  • 你如何期望 Flutter 不注册插件?您实际上是在 Android 上使用它。
  • 是的 @danypata 就像 @Firat 在暗示一样,它在构建过程中抛出这个“没有找到 sms_maintained 的 podspec”

标签: ios flutter dart podfile


【解决方案1】:

https://flutter.dev/docs/deployment/flavors

看看这个,你可以根据不同的发布和开发环境设置不同的风格

【讨论】:

  • 感谢您的指点,味道真的很酷,但是如果我在构建过程中更改包以适应平台,它仍然会导致构建问题,因为项目中对包的引用将指向没有文件。我想要的是将包保留在那里但告诉颤振不要注册它
【解决方案2】:

所以我找到了问题的解决方案,sms_maintained 包确实在 ios/.symlinks/plugins 中有一个名为 sms.podspec 的 podspec 文件,应该重命名为 sms_maintained.podspec。

同样打开文件并将s.name键中的sms重命名为sms_maintained

重新运行应用程序

【讨论】:

  • 如果你能多解释一下就好了。作为读者,我不知道“短信”、“打开文件”等是什么意思
猜你喜欢
  • 2020-06-07
  • 2018-06-23
  • 1970-01-01
  • 2017-06-03
  • 1970-01-01
  • 1970-01-01
  • 2020-09-08
  • 2020-12-06
  • 2022-06-29
相关资源
最近更新 更多