Xcode Allows Setting Asset Direction When Deployment Target Doesn't Support It

Originator:bryn.bodayle
Number:rdar://36322972 Date Originated:1/5/18
Status:Open Resolved:
Product:Xcode Product Version:9.2
Classification:UI/Usability Reproducible:Always
 
Area:
Xcode

Summary:
Xcode allows developers to set the language direction for an Assets Catalog Image Set to a value, even when the project deployment target doesn't support that feature. Therefore the app will crash when running on a device with an iOS version that doesn't support that feature.

Steps to Reproduce:
1. Set an Xcode deployment target to 9.0 which doesn't support setting a language direction for an Assets Catalog Image Set. Set a language direction for an asset in that catalog such as "Left to Right, Mirrors". Write code to access that asset. In a release build that code will cause a crash on iOS 9 devices.
https://www.dropbox.com/s/xqmxchm70k00kkb/Xcode%20Assets%20Catalog.png?dl=0


Expected Results:
If a project has a deployment target set which doesn't support this language direction feature, Xcode should hide the language direction selector in the Assets Catalog inceptor window.


Actual Results:
Xcode displays the language direction selector in Xcode projects with the unsupported deployment target of 9.0.

Version/Build:
Xcode 9.2 (9C40b)
iOS 9.3.5


Partial Crash Log:
Date/Time:           2018-01-03 15:35:55.55 -0800
Launch Time:         2018-01-03 15:01:05.05 -0800
OS Version:          iOS 9.3.5 (13G36)
Report Version:      105

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000000e7ffdefe
Triggered by Thread:  0

Filtered syslog:
None found

Global Trace Buffer (reverse chronological seconds):
1.736858     AppleJPEG                 	0x0000000026a565e9 [0x1a747600] Releasing session
1.745486     AppleJPEG                 	0x0000000026a58461 [0x1a747600] Decoding completed without errors
1.774632     AppleJPEG                 	0x0000000026a56b55 [0x1a747600] Options: 639x426 [FFFFFFFF,FFFFFFFF] 00025060
1.774632     AppleJPEG                 	0x0000000026a56a21 [0x1a747600] Decoding: C2 0x027F01AA 0x00003842 0x22111100 0x00000000 69436
1.777246     AppleJPEG                 	0x0000000026a565e9 [0x1958e400] Releasing session
1.777246     AppleJPEG                 	0x0000000026a55ec5 [0x1958e400] Created session
1.777246     AppleJPEG                 	0x0000000026a55ec5 [0x1a747600] Created session
1.783911     AppleJPEG                 	0x0000000026a565e9 [0x1756c000] Releasing session
1.795284     AppleJPEG                 	0x0000000026a58461 [0x1756c000] Decoding completed without errors
1.816864     AppleJPEG                 	0x0000000026a56b55 [0x1756c000] Options: 639x426 [FFFFFFFF,FFFFFFFF] 00025060
1.816864     AppleJPEG                 	0x0000000026a56a21 [0x1756c000] Decoding: C2 0x027F01AA 0x00003842 0x22111100 0x00000000 40779
1.817134     AppleJPEG                 	0x0000000026a565e9 [0x1958e400] Releasing session



Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   Airbnb                        	0x028d86ac globalinit_33_3BCBFCAB412BA164A280546913C468C6_func46Tm + 212
1   libdispatch.dylib             	0x24e7fcaa _dispatch_client_callout + 20
2   libdispatch.dylib             	0x24e8089a dispatch_once_f + 60

Comments


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!