ios - 我的 NotificationServiceExtension Info.plist 文件中的 Flutter/iOS : How can I use pubspec. yaml 的 App 版本?

标签 ios flutter info.plist unnotificationserviceextension

pubspec.yaml 中的 Flutter App 版本可以通过将条目更改为在常规 iOS Info.plist 文件中使用

<key>CFBundleShortVersionString</key>
<string>$(FLUTTER_BUILD_NAME)</string>

<key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string>

不过,我已经创建了一个通知服务扩展来启用 FCM 富文本推送通知,它运行良好。但是当我将此扩展的 Info.plist 值更改为与上面相同的值时,应用程序失败并出现以下构建错误:

Unable to install /Users/pa/development/FlutterApps/myApp/build/ios/iphonesimulator/Runner.app on <ID>. This is sometimes caused by a malformed plist file:
ProcessException: Process exited abnormally:
An error was encountered processing the command (domain=IXErrorDomain, code=2):
Failed to create plugin placeholder for /Users/pa/development/FlutterApps/myApp/build/ios/iphonesimulator/Runner.app/PlugIns/NotificationService.appex
Failed to create promise.
Underlying error (domain=IXErrorDomain, code=2):
    Failed to set placeholder attributes com.mycompany.appid.NotificationService
    Failed to create promise.
  Command: xcrun simctl install <ID> /Users/pa/development/FlutterApps/myApp/build/ios/iphonesimulator/Runner.app
Error launching application on iPhone 11 Pro.

如何在 Extensions Info.plist 文件中也使用相同的变量?我认为这只是一些配置,但我无法弄明白。

谢谢!!

最佳答案

Flutter 生成一个 xcconfig 文件,其中包含 FLUTTER_BUILD_NAMEFLUTTER_BUILD_NUMBER 等变量

要在扩展中使用这些变量,我们需要执行以下操作:

  1. 转到您的扩展Info.plist 并添加这些变量。 Like this

Bundle 版本字符串 -- $(FLUTTER_BUILD_NAME)

捆绑版本 -- $(FLUTTER_BUILD_NUMBER)

  1. 转到您的项目设置并为每个配置的扩展选择一个生成的配置文件。 Like this

关于ios - 我的 NotificationServiceExtension Info.plist 文件中的 Flutter/iOS : How can I use pubspec. yaml 的 App 版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65959068/

相关文章:

xcode - CHDataStructures.framework 不会在 Xcode 4 中为 iOS 编译

ios - 使用 AVAudioEngine 将 AVAudioInputNode 连接到 AVAudioUnitEffect

flutter - 为什么 dio 4.0.0 不向服务器发送 http 请求

database - Flutter:将数据从第一屏幕发送到第二屏幕

iOS plist.info : where should I put additional keys with a nested dict tag?

ios - 无法删除随机添加的 UIView

ios - 设置 self.window.rootViewController 会导致 SIGABRT

flutter - 如何在其初始值 flutter 中将滚动条设置为最大值

ios - info.plist 中支持的接口(interface)方向似乎阻止了对 shouldAutorotate 的调用

ios - 在 Swift 中使用 facebook 登录 api 时出现 "Open this page in APP_NAME"