Uploaded image for project: 'Titanium SDK/CLI'
  1. Titanium SDK/CLI
  2. TIMOB-17639

iOS8: Ti.UI.OptionDialog.show() doesn't work without view-property on iPad

    Details

    • Story Points:
      3
    • Sprint:
      2014 Sprint 20 SDK

      Description

      Problem
      An Ti.UI.OptionDialog doesn't show on iPads running iOS8, giving the following (quiet) error in the device logs:

      [DEBUG] 2014-09-08 11:25:30.767 od[8034:231901] Unable to simultaneously satisfy constraints.
      [DEBUG]         Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
      [DEBUG] (
      [DEBUG]     "<NSLayoutConstraint:0x7ba87fc0 H:[UIView:0x7ba9f730(304)]>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa8e80 _UIAlertControllerView:0x7ba9f350.width >= UIView:0x7ba9f730.width>",
      [DEBUG]     "<NSLayoutConstraint:0x79ed68e0 _UIAlertControllerView:0x7ba9f350.width == UIView:0x79ec3440.width>",
      [DEBUG]     "<NSAutoresizingMaskLayoutConstraint:0x7b8f5770 h=--& v=--& H:[UIView:0x79ec3440(0)]>"
      [DEBUG] )
      [DEBUG]
      [DEBUG] Will attempt to recover by breaking constraint
      [DEBUG] <NSLayoutConstraint:0x7ba87fc0 H:[UIView:0x7ba9f730(304)]>
      [DEBUG]
      [DEBUG] Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
      [DEBUG] The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
      [DEBUG] 2014-09-08 11:25:30.768 od[8034:231901] Unable to simultaneously satisfy constraints.
      [DEBUG]         Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
      [DEBUG] (
      [DEBUG]     "<NSLayoutConstraint:0x7baa87e0 UILabel:0x7baa1650.width == UIView:0x7ba9f7f0.width - 32>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa82a0 UIView:0x7ba9f7f0.width == UIView:0x7ba9f730.width>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa8e80 _UIAlertControllerView:0x7ba9f350.width >= UIView:0x7ba9f730.width>",
      [DEBUG]     "<NSLayoutConstraint:0x79ed68e0 _UIAlertControllerView:0x7ba9f350.width == UIView:0x79ec3440.width>",
      [DEBUG]     "<NSAutoresizingMaskLayoutConstraint:0x7b8f5770 h=--& v=--& H:[UIView:0x79ec3440(0)]>"
      [DEBUG] )
      [DEBUG]
      [DEBUG] Will attempt to recover by breaking constraint
      [DEBUG] <NSLayoutConstraint:0x7baa87e0 UILabel:0x7baa1650.width == UIView:0x7ba9f7f0.width - 32>
      [DEBUG]
      [DEBUG] Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
      [DEBUG] The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
      [DEBUG] 2014-09-08 11:25:30.770 od[8034:231901] Unable to simultaneously satisfy constraints.
      [DEBUG]         Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
      [DEBUG] (
      [DEBUG]     "<NSLayoutConstraint:0x7baa8840 UILabel:0x7baa26f0.width == UIView:0x7ba9f7f0.width - 32>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa82a0 UIView:0x7ba9f7f0.width == UIView:0x7ba9f730.width>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa8e80 _UIAlertControllerView:0x7ba9f350.width >= UIView:0x7ba9f730.width>",
      [DEBUG]     "<NSLayoutConstraint:0x79ed68e0 _UIAlertControllerView:0x7ba9f350.width == UIView:0x79ec3440.width>",
      [DEBUG]     "<NSAutoresizingMaskLayoutConstraint:0x7b8f5770 h=--& v=--& H:[UIView:0x79ec3440(0)]>"
      [DEBUG] )
      [DEBUG]
      [DEBUG] Will attempt to recover by breaking constraint
      [DEBUG] <NSLayoutConstraint:0x7baa8840 UILabel:0x7baa26f0.width == UIView:0x7ba9f7f0.width - 32>
      [DEBUG]
      [DEBUG] Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
      [DEBUG] The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
      [DEBUG] 2014-09-08 11:25:30.771 od[8034:231901] Unable to simultaneously satisfy constraints.
      [DEBUG]         Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
      [DEBUG] (
      [DEBUG]     "<NSLayoutConstraint:0x7baa8760 V:[UIView:0x7ba9f8b0(>=44)]>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa8580 V:|-(0)-[UIView:0x7ba9f8b0]   (Names: '|':UIView:0x7ba9f7f0 )>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa8700 V:[UICollectionView:0x7aada200]-(0)-|   (Names: '|':UIView:0x7ba9f8b0 )>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa82d0 UIView:0x7ba9f7f0.height == UIView:0x7ba9f730.height>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa8f00 _UIAlertControllerView:0x7ba9f350.height == UIView:0x7ba9f730.height>",
      [DEBUG]     "<NSLayoutConstraint:0x79ed6910 _UIAlertControllerView:0x7ba9f350.height == UIView:0x79ec3440.height>",
      [DEBUG]     "<NSLayoutConstraint:0x79ebc2e0 UIView:0x7ba9f7f0.bottom == UICollectionView:0x7aada200.bottom>",
      [DEBUG]     "<NSAutoresizingMaskLayoutConstraint:0x7b8f57d0 h=--& v=--& V:[UIView:0x79ec3440(13)]>"
      [DEBUG] )
      [DEBUG]
      [DEBUG] Will attempt to recover by breaking constraint
      [DEBUG] <NSLayoutConstraint:0x7baa8760 V:[UIView:0x7ba9f8b0(>=44)]>
      [DEBUG]
      [DEBUG] Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
      [DEBUG] The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
      [DEBUG] 2014-09-08 11:25:30.772 od[8034:231901] Unable to simultaneously satisfy constraints.
      [DEBUG]         Probably at least one of the constraints in the following list is one you don't want. Try this: (1) look at each constraint and try to figure out which you don't expect; (2) find the code that added the unwanted constraint or constraints and fix it. (Note: If you're seeing NSAutoresizingMaskLayoutConstraints that you don't understand, refer to the documentation for the UIView property translatesAutoresizingMaskIntoConstraints)
      [DEBUG] (
      [DEBUG]     "<NSLayoutConstraint:0x7baa8550 V:[UIView:0x7ba9f7f0(>=44)]>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa82d0 UIView:0x7ba9f7f0.height == UIView:0x7ba9f730.height>",
      [DEBUG]     "<NSLayoutConstraint:0x7baa8f00 _UIAlertControllerView:0x7ba9f350.height == UIView:0x7ba9f730.height>",
      [DEBUG]     "<NSLayoutConstraint:0x79ed6910 _UIAlertControllerView:0x7ba9f350.height == UIView:0x79ec3440.height>",
      [DEBUG]     "<NSAutoresizingMaskLayoutConstraint:0x7b8f57d0 h=--& v=--& V:[UIView:0x79ec3440(13)]>"
      [DEBUG] )
      [DEBUG]
      [DEBUG] Will attempt to recover by breaking constraint
      [DEBUG] <NSLayoutConstraint:0x7baa8550 V:[UIView:0x7ba9f7f0(>=44)]>
      [DEBUG]
      [DEBUG] Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
      [DEBUG] The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
      

      Steps to reproduce
      With the following combinations, build and run the test case and click on the window to open the dialog.

      • SDK 3.4 / iOS8 / iPhone: OK
      • SDK 3.4 / iOS8 / iPad: Error
      • SDK 3.3 / iOS7.1 / iPhone: OK
      • SDK 3.3 / iOS7.1 / iPad: OK

      Test case

      var win = Ti.UI.createWindow({
        backgroundColor: 'white'
      });
      win.addEventListener('click', function(e) {
        Ti.UI.createOptionDialog({
          options: ['a', 'b']
        }).show();
      });
      win.open();
      

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                vduggal Vishal Duggal (Inactive)
                Reporter:
                fokkezb Fokke Zandbergen
              • Watchers:
                0 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Backbone Issue Sync

                  • Titanium SDK/CLI <> Titanium Mobile
                    Synced with:
                    TIMOB-19168
                    Sync status:
                    ERROR
                    Last received:
                    Last sent:

                    Git Source Code