xcodecocoapodsfirebaseuiimessage-extension

How to add pod FirebaseUI/Phone to app & pod FirebaseUI/Storage to iMessage extension without Xcode 10 error?


When creating a blank new project in Xcode 10.1 (10B61), add blank "iMessage" extension target, and add following pod file using firebase:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'iMessage' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for iMessage
pod 'FirebaseUI/Storage'


end

target 'MyProject34' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for MyProject34
pod 'FirebaseUI/Phone'

end

I get the following error when trying to "Product/Archive":

Showing Recent Messages
:-1: Multiple commands produce '/Users/huty/Library/Developer/Xcode/DerivedData/MyProject34-axmyqgtwgzajkqcujpfchvgqnoiz/Build/Intermediates.noindex/ArchiveIntermediates/MyProject34/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework':
1) Target 'GoogleUtilities-Environment-Logger-UserDefaults' has create directory command with output '/Users/huty/Library/Developer/Xcode/DerivedData/MyProject34-axmyqgtwgzajkqcujpfchvgqnoiz/Build/Intermediates.noindex/ArchiveIntermediates/MyProject34/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'
2) Target 'GoogleUtilities-Environment-Logger' has create directory command with output '/Users/huty/Library/Developer/Xcode/DerivedData/MyProject34-axmyqgtwgzajkqcujpfchvgqnoiz/Build/Intermediates.noindex/ArchiveIntermediates/MyProject34/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/GoogleUtilities.framework'

And

Showing Recent Messages
:-1: Multiple commands produce '/Users/huty/Library/Developer/Xcode/DerivedData/MyProject34-axmyqgtwgzajkqcujpfchvgqnoiz/Build/Intermediates.noindex/ArchiveIntermediates/MyProject34/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/FirebaseUI.framework':
1) Target 'FirebaseUI-Storage' has create directory command with output '/Users/huty/Library/Developer/Xcode/DerivedData/MyProject34-axmyqgtwgzajkqcujpfchvgqnoiz/Build/Intermediates.noindex/ArchiveIntermediates/MyProject34/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/FirebaseUI.framework'
2) Target 'FirebaseUI-Auth-Phone' has create directory command with output '/Users/huty/Library/Developer/Xcode/DerivedData/MyProject34-axmyqgtwgzajkqcujpfchvgqnoiz/Build/Intermediates.noindex/ArchiveIntermediates/MyProject34/IntermediateBuildFilesPath/UninstalledProducts/iphoneos/FirebaseUI.framework'

How should I proceed to fix the problem? (the project I'm working on is more complex, but I narrowed the bug to above project)


Solution

  • This is https://github.com/CocoaPods/CocoaPods/issues/8206 whose root cause is https://openradar.appspot.com/radar?id=5038526135533568

    Workarounds are to use the old Xcode build system or to ensure that all targets have the same CocoaPod subspec subsets. In this case, I believe that could be accomplished by adding pod GoogleUtilities/UserDefaults to both targets.