2016-03-23 28 views
0

Ich arbeite an einer App in Xcode und ich bekomme eine Menge widersprüchliche Einschränkungen, wenn ich es im Simulator ausführen, obwohl alles gut aussieht. Ich habe versucht, jeden Konflikt zu lösen, aber endet oft damit, alles zu vermasseln.Ist es in Ordnung, widersprüchliche Einschränkungen in Xcode zu ignorieren?

Jemand sagte mir, dass es in Ordnung ist, sie zu ignorieren, solange es die App nicht beeinträchtigt. Aber ist es wahr, dass ich es einfach ignorieren kann? Wird es mir im App Store möglich sein, eine App mit vielen widersprüchlichen Constraints zu veröffentlichen?

+1

Lösen Sie immer die in Konflikt stehenden Einschränkungen. Immer. – MrDank

Antwort

1

Nein, es ist nicht in Ordnung. Es wird nicht angegeben, wie die Layout-Engine Konflikte löst (sie listet Konflikte auf, die in einem bestimmten Fall am Ende der Protokollnachricht ignoriert wurden). Auch wenn es jetzt funktioniert, auf Ihrem Gerät mit Ihrer Betriebssystemversion gibt es keine Garantie, dass es in Zukunft/auf einem anderen Gerät nicht bremsen wird. Es wird höchstwahrscheinlich funktionieren, aber es gibt keine Garantie, also ist es nicht sicher.

Das Review-Team von AppStore lässt Ihre App jedoch im AppStore zu. Wenn sie nicht auf einige schreckliche UI-bezogene Bugs stoßen werden, die aufgrund von kaputten Constraints auf ihrer Seite anders funktionieren, meine ich.

+0

Ich wünschte, jemand hätte mir das früher gesagt, rate mal, ich werde etwas Zeit investieren, um herauszufinden, wie ich es lösen kann. Vielen Dank! – aaa912009

+0

@ aaa912009, gern geschehen :) Lösen Sie diese Konflikte nacheinander. Hinweis: Manchmal ist es einfacher, die Einschränkungen einer bestimmten Ansicht von Grund auf neu zu schreiben. Ein weiterer Hinweis: Sehen Sie sich die Einschränkung an, die die Layout-Engine ignoriert (in der Protokollnachricht). Wenn es ohne es so funktioniert wie es sollte, brauchen Sie es wirklich? Wenn Sie in der Protokollnachricht "NSAutoresizingMaskLayoutConstraint" sehen, haben Sie höchstwahrscheinlich vergessen, 'translateAutoresizingMaskToConstraints' in einigen Ihrer Ansichten auf' NO' \ 'false' zu ​​setzen. Viel Glück! :) – FreeNickname

Verwandte Themen