在 Flutter 中从 Notification Service Extension 更改 CFBundleVersion #66448
Posted
技术标签:
【中文标题】在 Flutter 中从 Notification Service Extension 更改 CFBundleVersion #66448【英文标题】:Change CFBundleVersion from NotificationServiceExtension on flutter #66448 【发布时间】:2021-01-09 18:43:41 【问题描述】:我已经在我的应用程序中配置了 OneSignal,所以我需要在我的 ios 项目上创建一个通知服务扩展。
问题是,当我在 Apple Store 上发布我的应用时,我收到了这个错误:
ITMS-90473:CFBundleVersion 不匹配 - 扩展“Runner.app/PlugIns/OneSignalNotificationServiceExtension.appex”的 CFBundleVersion 值“15”与其包含的 iOS 应用程序“Runner.app”的 CFBundleVersion 值“147”不匹配。
我正在使用 FastLane 构建项目,这是我的发布脚本:
platform :ios do
desc "Push a new beta build to TestFlight"
lane :beta do
build_number = number_of_commits(all: true)
Dir.chdir ".." do
sh("flutter", "packages", "get")
sh("flutter", "clean")
sh("flutter", "pub", "get")
sh("flutter", "build", "ios", "--obfuscate", "--split-debug-info=logs", "--release", "-t", "lib/main_prod.dart", "--build-number=#build_number")
end
build_app(workspace: "Runner.xcworkspace", scheme: "Runner", export_method: 'app-store', silent: true)
upload_to_testflight(skip_waiting_for_build_processing: true)
end
end
我的问题是:我应该怎么做才能构建,从我的 ServiceExtension 更改 CFBundleVersion?
谢谢你:)
【问题讨论】:
我遇到了同样的问题。我真的不想在每次发布新版本时手动更改 CFBundleVersion 和 CFBundleShortVersionString。 Flutter 只是为 Runner 目标自动化,应该有一种方法可以为扩展自动化它...... 【参考方案1】:这是我在完成flutter build ios
之后所做的。
基本上,我保存了当前版本和内部版本号,它们已经由颤振和 pubspec.yaml 递增,然后使用递增脚本强制它在所有目标和 plist 上。
platform :ios do
desc "Push a new beta build to TestFlight"
lane :beta do
build_number = get_build_number(xcodeproj: "Runner.xcodeproj")
version_number = get_version_number(xcodeproj: "Runner.xcodeproj", target: 'Runner')
increment_build_number(xcodeproj: "Runner.xcodeproj", build_number: build_number)
increment_version_number(xcodeproj: "Runner.xcodeproj", version_number: version_number)
build_app(workspace: "Runner.xcworkspace", scheme: "Runner")
upload_to_testflight
end
end
【讨论】:
以上是关于在 Flutter 中从 Notification Service Extension 更改 CFBundleVersion #66448的主要内容,如果未能解决你的问题,请参考以下文章
尝试在我的 Flutter 应用程序中使用 flutter_local_notification 插件构建时出错
Flutter:我在将flutter_local_notification添加到依赖项后尝试构建一个项目,但失败了
Flutter Local Notification 仅在 Android 上显示点