I got purple border on my Photos app window

I got a purple warning border of some sort on my OS X Photos app.

It was described in this Apple Support community thread and got a solution. The problem was caused by NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints being set.

This is a screenshot from my own computer:

enter image description here

Would it be safe to remove the purple warning without addressing the problem causing it? Why did I get a purple warning in the first place?


Solution 1:

Enabling and disabling NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints is safe. This feature allows developers to debug their application's layout problems.

Autolayout and Constraints

Constraint based layout is a mechanism Apple recommends developers use to craft their user interfaces. The mechanism is often called Autolayout in developer documentation.

Autolayout is tough to get right. It is possible to have constraints that conflict. Apple have added numerous features to help flag these conflicts and to help developer's fix them.

The NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints flag is one such tool to aid developers.

Autolayout debug

Not Intended for Users

I presume you did not enable NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints yourself. Preassuming this, it suggests Photos.app's engineers have an autolayout bug or that some other process has enabled this flag on Photos.app.

Either way, the purple interface was rightly concerning as a user. No user should ever see, or need, this debugging tool. Somewhere a mistake was made or a bug exists within OS X.

Safe to Disable

The suggested solution in the discussion thread deletes any value associated with NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints. This is safe:

 defaults delete com.apple.Photos NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints