Xcodebuild does not properly compile assets when using multiple destinations

Originator:a.cecilia.luque
Number:rdar://41608702 Date Originated:29/06/2018
Status:Open Resolved:
Product:Developer Tools Product Version:Xcode 9.4.1 Build version 9F2000
Classification:Bug Reproducible:always
 
Summary: when executing xcodebuild with multiple destinations, the assets are compiled only for the first destination, and the next destinations reuse them. This can lead to devices that need 3x resolution running 2x assets.


Steps to Reproduce:
Run in terminal:
xcodebuild \
  -workspace Project.xcworkspace \
  -scheme UITests \
  -destination 'platform=iOS Simulator,name=iPhone 8,OS=11.4' \
  -destination 'platform=iOS Simulator,name=iPhone X,OS=11.4' \
  -derivedDataPath './testOutput' \
  test

Expected Results: each destination uses the proper 2x and 3x compiled assets


Actual Results: assets are compiled for iPhone8 (at 2x resolution), and iPhoneX uses those assets (when it requires 3x), resulting in wrong icons resolution on screen. You can also inspect the build folder (in the case of the command above, './testOutput'), find the asset catalog and verify this.


Version/Build: running: 
xcodebuild:
Xcode 9.4.1
Build version 9F2000

macOS 10.13.5 (17F77)


Configuration: see comment https://github.com/uber/ios-snapshot-test-case/issues/37#issuecomment-399801243 for more details.

Comments

Same radar as http://openradar.appspot.com/44658414

By a.cecilia.luque at Sept. 21, 2018, 12:25 p.m. (reply...)

Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!