ibtool builds storyboard in a backward-incompatible way if safe layout area guides are enabled and deployment target is 8.0

Originator:corrmage
Number:rdar://33562924 Date Originated:27-Jul-2017 11:04 AM
Status:Open Resolved:
Product:iOS + SDK Product Version:11.0 (15A5327g)
Classification:Crash/Hang/Data Loss Reproducible:Always
 
Summary:
ibtool builds storyboard in a backward-incompatible way if safe layout area guides are enabled and deployment target is 8.0
Application fails to load such a storyboard due to UILayoutGuide (introduced in iOS 9.0) objects.

Steps to Reproduce:
1. Create an app from Single View App template in Xcode 9
2. Set deployment target to 8.0
3. Try to launch the app on iOS 8.x (simulator or real device)

Expected Results:
ibtool compiles the storyboard in a backward-compatible way & app launches.

Actual Results:
App crashes with the following stacktrace:

#0	0x0000000104ad1b8a in objc_exception_throw ()
#1	0x0000000104e38b9d in +[NSException raise:format:] ()
#2	0x0000000105cf77cd in UINibDecoderDecodeObjectForValue ()
#3	0x0000000105cf7b25 in UINibDecoderDecodeObjectForValue ()
#4	0x0000000105cf768c in -[UINibDecoder decodeObjectForKey:] ()
#5	0x0000000105ba5338 in -[UINib instantiateWithOwner:options:] ()
#6	0x00000001059fd6d8 in -[UIViewController _loadViewFromNibNamed:bundle:] ()
#7	0x00000001059fdcc8 in -[UIViewController loadView] ()
#8	0x00000001059fdf39 in -[UIViewController loadViewIfRequired] ()
#9	0x00000001059fe3ce in -[UIViewController view] ()
#10	0x0000000105919289 in -[UIWindow addRootViewControllerViewIfPossible] ()
#11	0x000000010591964f in -[UIWindow _setHidden:forced:] ()
#12	0x0000000105925de1 in -[UIWindow makeKeyAndVisible] ()
#13	0x00000001058c9417 in -[UIApplication _callInitializationDelegatesForMainScene:transitionContext:] ()
#14	0x00000001058cc19e in -[UIApplication _runWithMainScene:transitionContext:completion:] ()
#15	0x00000001058cb095 in -[UIApplication workspaceDidEndTransaction:] ()
#16	0x0000000107a865e5 in __31-[FBSSerialQueue performAsync:]_block_invoke_2 ()
#17	0x0000000104d6c41c in __CFRUNLOOP_IS_CALLING_OUT_TO_A_BLOCK__ ()
#18	0x0000000104d62165 in __CFRunLoopDoBlocks ()
#19	0x0000000104d61f25 in __CFRunLoopRun ()
#20	0x0000000104d61366 in CFRunLoopRunSpecific ()
#21	0x00000001058cab02 in -[UIApplication _run] ()
#22	0x00000001058cd8c0 in UIApplicationMain ()
#23	0x0000000104597a1f in main
#24	0x000000010746d145 in start ()


Version:
11.0 (15A5327g)

Notes:

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!