多个命令会产生抖动 GoogleUtilities

u_s*_*e_r 13 build apple-push-notifications ios flutter

我正在尝试为应用程序商店构建。使用命令flutter build ipa并出现以下错误。尽管构建可以在调试模式下运行(当我从 Android studio 运行时),并且我可以收到推送通知。

warning: Multiple targets match implicit dependency for linker flags '-framework GoogleUtilities'. Consider adding an explicit dependency on the intended target to
resolve this ambiguity. (in target 'Runner' from project 'Runner')

warning: Multiple targets match implicit dependency for linker flags '-framework GoogleUtilities'.Consider adding an explicit dependency on the intended target to
resolve this ambiguity. (in target 'ImageNotification' from project 'Runner')
error: Multiple commands produce

'/Users/manu/Library/Developer/Xcode/DerivedData/Runner-csuwafuzvneucvdjlkobmosdwxae/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuild
FilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework':
1) Target 'GoogleUtilities-00567490' has create directory command with output
'/Users/manu/Library/Developer/Xcode/DerivedData/Runner-csuwafuzvneucvdjlkobmosdwxae/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuild
FilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'
2) Target 'GoogleUtilities-54e75ca4' has create directory command with output
'/Users/manu/Library/Developer/Xcode/DerivedData/Runner-csuwafuzvneucvdjlkobmosdwxae/Build/Intermediates.noindex/ArchiveIntermediates/Runner/IntermediateBuild
FilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'

note: Using new build system
note: Building targets in parallel
note: Planning build
note: Constructing build description

Run Code Online (Sandbox Code Playgroud)

ImageNotification为推送通知中的推送图像添加了新的目标通知服务扩展

这是我的 pod 文件:

# Uncomment this line to define a global platform for your project
platform :ios, '14.3'

# CocoaPods analytics sends network stats synchronously affecting flutter build latency.
ENV['COCOAPODS_DISABLE_STATS'] = 'true'

project 'Runner', {
  'Debug' => :debug,
  'Profile' => :release,
  'Release' => :release,
}

def flutter_root
  generated_xcode_build_settings_path = File.expand_path(File.join('..', 'Flutter', 'Generated.xcconfig'), _FILE_)
  unless File.exist?(generated_xcode_build_settings_path)
    raise "#{generated_xcode_build_settings_path} must exist. If you're running pod install manually, make sure flutter pub get is executed first"
  end

  File.foreach(generated_xcode_build_settings_path) do |line|
    matches = line.match(/FLUTTER_ROOT\=(.*)/)
    return matches[1].strip if matches
  end
  raise "FLUTTER_ROOT not found in #{generated_xcode_build_settings_path}. Try deleting Generated.xcconfig, then run flutter pub get"
end

require File.expand_path(File.join('packages', 'flutter_tools', 'bin', 'podhelper'), flutter_root)

flutter_ios_podfile_setup

target 'Runner' do
  use_frameworks!
  use_modular_headers!

  flutter_install_all_ios_pods File.dirname(File.realpath(_FILE_))
end

post_install do |installer|
  installer.pods_project.targets.each do |target|
    flutter_additional_ios_build_settings(target)
  end
end

target 'ImageNotification' do
  use_frameworks!
  pod 'Firebase/Messaging'
end
Run Code Online (Sandbox Code Playgroud)

小智 34

添加 - 将 pod“GoogleUtilities”添加到 PodFile 中的 ImageNotification 目标和 Runner 目标。

target 'ImageNotification' do
  ...
  pod 'GoogleUtilities'
end

target 'Runner' do
  ...
  pod 'GoogleUtilities'
end
Run Code Online (Sandbox Code Playgroud)

然后删除 PodFile.lock 然后运行 ​​flutter clean,然后运行 ​​flutter pub get,然后运行 ​​flutter build ios。之后在 Xcode 中打开 ios 模块并构建存档。它会起作用的。