"Невозможно одновременно удовлетворить ограничения" с синей полосой "Персональная точка доступа"

Я получаю следующее предупреждение только тогда, когда я запускаю свое приложение и у меня включена личная горячая точка, и поэтому в верхней части экрана отображается синяя полоса личная горячая точка. Есть ли способ исправить это?

2016-05-19 09:07:55.589 RemindersPro[591:121237] Unable to simultaneously satisfy constraints.
    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. 
(
    "<NSLayoutConstraint:0x145d7ff30 V:|-(20)-[UIInputSetContainerView:0x145e77b70]   (Names: '|':UITextEffectsWindow:0x145d7e8d0 )>",
    "<NSLayoutConstraint:0x145d307a0 'UIInputWindowController-top' V:|-(0)-[UIInputSetContainerView:0x145e77b70]   (Names: '|':UITextEffectsWindow:0x145d7e8d0 )>"
)

Will attempt to recover by breaking constraint 
<NSLayoutConstraint:0x145d7ff30 V:|-(20)-[UIInputSetContainerView:0x145e77b70]   (Names: '|':UITextEffectsWindow:0x145d7e8d0 )>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKit/UIView.h> may also be helpful.
updating
reminderListsStructure of 24 calendars recreated.

Я попытался исправить это, как рекомендовано в строке состояния входящего вызова (Невозможно удовлетворить ограничения), добавив следующую функцию в мой AppDelegate. К сожалению, это не помогло.

func application(application: UIApplication, willChangeStatusBarFrame newStatusBarFrame: CGRect) {
    for window in UIApplication.sharedApplication().windows {
        if window.dynamicType.self.description().containsString("UITextEffectsWindow") {
            window.removeConstraints(window.constraints)
        }
    }
}

1 ответ

Ошибка означает, что 2 из ограничений, которые вы добавили в личную панель горячих точек, конфликтуют друг с другом, то есть они говорят, что панель должна идти в двух разных местах. Поскольку это невозможно, вы видите эту ошибку. Чтобы исправить это, вам нужно взглянуть на ограничения, которые вы добавили на панель, и посмотреть, поместят ли два из них панель в разные места. Xcode фактически дает вам эти два ограничения, которые конфликтуют, показывая оба из них в ошибке.

Чтобы избавиться от всех ограничений, попробуйте это:

func application(application: UIApplication, willChangeStatusBarFrame newStatusBarFrame: CGRect) {
    for window in UIApplication.sharedApplication().windows {
        window.removeConstraints(window.constraints)
    }
}
Другие вопросы по тегам