Cocoapods: Wrong warning is emitted about the dSYMs architectures not matching when using XCFrameworks

Created on 21 Sep 2020  ·  5Comments  ·  Source: CocoaPods/CocoaPods

Report

What did you do?

  • Download the attached sample project and unzip.
  • cd into Minimal-CocoaPods.
  • run pod install
  • Build the Minimal scheme on an iOS 14 simulator.

What did you expect to happen?

There should be no warnings.

What happened instead?

CocoaPods emits warnings about the dSYMs architectures not matching when using XCFrameworks:

warning: [CP] Vendored binary '/Users/radazzouz/Library/Developer/Xcode/DerivedData/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/PSPDFKit.build/DerivedSources/PSPDFKit.framework.ios-arm64.dSYM/Contents/Resources/DWARF/PSPDFKit' contains architectures (arm64) none of which match the current build architectures (x86_64).

This is an invalid warning because PSPDFKit.framework.ios-arm64.dSYM's binary is non-fat and it should not contain an x86_64 architecture.

lipo -info ~/Downloads/Minimal-CocoaPods/Pods/PSPDFKit/PSPDFKit.dSYMs/PSPDFKit.framework.ios-arm64.dSYM/Contents/Resources/DWARF/PSPDFKit 
Non-fat file: /Users/radazzouz/Downloads/Minimal-CocoaPods/Pods/PSPDFKit/PSPDFKit.dSYMs/PSPDFKit.framework.ios-arm64.dSYM/Contents/Resources/DWARF/PSPDFKit is architecture: arm64

And because, we're building in debug mode (Build for Active Architectures Only is enabled) on a simulator and not on an iOS devices.

CocoaPods Environment

Stack

   CocoaPods : 1.10.0.rc.1
        Ruby : ruby 2.7.1p83 (2020-03-31 revision a0c7c23c9c) [x86_64-darwin19]
    RubyGems : 3.1.2
        Host : Mac OS X 10.15.6 (19G2021)
       Xcode : 12.0 (12A7209)
         Git : git version 2.24.3 (Apple Git-128)
Ruby lib dir : /Users/radazzouz/.rbenv/versions/2.7.1/lib
Repositories : master - git - https://github.com/CocoaPods/Specs.git @ 0c12aa8dab557001e64e7d47d86a5a9ae7e0c16d

               trunk - CDN - https://cdn.cocoapods.org/

Installation Source

Executable Path: /Users/radazzouz/.rbenv/versions/2.7.1/bin/pod

Plugins

claide-plugins         : 0.9.2
cocoapods-deintegrate  : 1.0.4
cocoapods-dependencies : 1.3.0
cocoapods-plugins      : 1.0.0
cocoapods-search       : 1.0.0
cocoapods-stats        : 1.1.0
cocoapods-trunk        : 1.5.0
cocoapods-try          : 1.2.0
cocoapods_debug        : 0.1.0

Podfile

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

target 'Minimal' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!

  pod 'PSPDFKit', podspec:'https://customers.pspdfkit.com/pspdfkit-ios/nightly.podspec'
end

Project that demonstrates the issue

Minimal-CocoaPods.zip

Additional Information:

  1. The warning is only emitted when building on a Simulator or on Mac Catalyst. When building on an iOS real device, we are not getting the warning.
  2. Could be related to #7196, #5854, and #7197
help wanted xcframeworks

Most helpful comment

We can fix for 1.10.0

All 5 comments

Thanks for the great report!

We can fix for 1.10.0

@radazzouz fixed here https://github.com/CocoaPods/CocoaPods/pull/10114

I tried in your sample and for DEBUG builds I did not get the warning but for RELEASE I did which I think is correct.

@radazzouz if you want a take a look at the PR let me know if the fix appears correct.

Thank you so much for the ping @dnkoutso! 👍 I just commented on the PR with my findings https://github.com/CocoaPods/CocoaPods/pull/10114/files#r498993350

Was this page helpful?
0 / 5 - 0 ratings