2016-03-23 3 views
0

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

Кто-то сказал мне, что это нормально игнорировать их, пока это не влияет на работу приложения. Но верно ли, что я могу просто игнорировать это? Будет ли App Store позволять мне публиковать приложение с множеством противоречивых ограничений?

+1

Всегда разрешайте конфликтующие ограничения. Всегда. – MrDank

ответ

1

Нет, это не нормально. Не указано, как механизм компоновки разрешает конфликты (в нем перечислены конфликты, которые он решил игнорировать в конкретном случае в конце сообщения журнала). Поэтому, даже если это работает сейчас, на вашем устройстве с версией вашей ОС нет гарантии, что он не будет тормозить в будущем/на каком-то другом устройстве. Это, скорее всего, будет работать, но нет никакой гарантии, поэтому это небезопасно.

Группа проверки AppStore позволит вашему приложению в AppStore. Если они не будут сталкиваться с некоторыми ужасными ошибками, связанными с пользовательским интерфейсом, из-за того, что сломанные ограничения работают по-разному на их стороне, я имею в виду.

+0

Пожелайте, чтобы кто-то сказал мне об этом раньше, предположите, что я потрачу некоторое время, чтобы выяснить, как его решить. Благодаря! – aaa912009

+0

@ aaa912009, пожалуйста! Просто разрешите эти конфликты по одному. Подсказка: иногда легче переписать ограничения на данный вид с нуля. Другой намек: взгляните на ограничение, которое игнорирует механизм компоновки (в сообщении журнала). Если он работает так же, как и без него, вам это действительно нужно? Кроме того, если вы видите в сообщении журнала 'NSAutoresizingMaskLayoutConstraint', вы, скорее всего, забыли установить' translatesAutoresizingMaskToConstraints' 'NO' \' false' на некоторые ваши взгляды. Удачи! :) – FreeNickname

Смежные вопросы