2016-03-23 2 views
0

私はXcodeでアプリを開発していますが、すべてがうまく見えても、シミュレータで実行すると矛盾する制約がたくさんあります。私はあらゆる葛藤を解決しようと努力しましたが、しばしばすべてを苦しめてしまいます。Xcodeで競合する制約を無視することはできますか?

誰かが、アプリの動作に影響を与えない限り、無視するように教えてくれました。しかし、私はそれを無視できるのは本当ですか? App Storeでは、矛盾する制約がたくさんあるアプリを公開できますか?

+1

常に競合する制約を解決してください。常に。 – MrDank

答えて

1

いいえ、大丈夫ではありません。レイアウトエンジンがどのように競合を解決するかは指定されていません(ログメッセージの最後に特定のケースで無視することを決めた競合をリストします)。したがって、あなたのOSバージョンのデバイス上で今でも動作するとしても、将来は/他のデバイスではブレーキが掛からないという保証はありません。おそらく動作するでしょうが、保証はないので安全ではありません。

AppStoreレビューチームはAppStoreにあなたのアプリを許可します。彼らの側で違った働きをする壊れた制約のためにUI関連のバグに遭遇しないなら、私は意味します。

+0

誰かが私にこれを以前に教えてくれたら、それを解決する方法を見つけるために少し時間を費やすつもりだと思う。ありがとう! – aaa912009

+0

@ aaa912009、あなたは歓迎です:)ちょうどそれらの競合を一つずつ解決してください。ヒント:あるビューの制約を一から書き直す方が簡単な場合もあります。別のヒント:レイアウトエンジンが(ログメッセージ内で)無視する制約を見てみましょう。それがなければそれはちょうどうまくいくなら、あなたは本当にそれを必要としますか?また、ログメッセージに 'NSAutoresizingMaskLayoutConstraint'がある場合、ほとんどのビューで 'translatesAutoresizingMaskToConstraints'を' NO' \ 'false'に設定するのを忘れていました。がんばろう! :) – FreeNickname

関連する問題