iOSアプリをコンパイルする場合、すべてが次のシナリオで素晴らしく見える:のiOS 4.2.1リリースモードで視覚的なバグではなく、デバッグモードまたはiOS 5
- のiOS 5.0.1、デバッグモード
- iOSの5.0.1、リリースモード
- のiOS 4.2.1、デバッグモード
私はリリースモードでアーカイブを構築し、とiOS 4.2.1で実行し、視覚的な問題が多数あります。ほとんどの場合、これらは、画面上のテキストの位置(ほとんどの場合、UILabels)が正しくありません。 4.2.1リリースビルドを物理デバイスでテストしています。 iPod touchの第2世代。 Xcodeでのビルドもバージョン4.2.1(4D502)です。
プロジェクトには、多数のサードパーティライブラリが組み込まれています。
ノープラスの効果でこれらの問題を解決するには、次の方法を試みたしました:
- は削除/すべては、コード最適化レベルを含め、デバッグビルドと一致するようにリンカフラグをリリースビルドに固有の設定を構築修正、デバッグシンボル、その他のC/C++フラグ、およびすべてのプリプロセッサマクロ。 LLVM GCC 4.2、およびApple LLVMコンパイラ3.0
- はビルドフェーズでは普通の何のためのチェックとデバッグビルドに適用されていたすべての引数と診断を削除ルール
- をビルドします。
- は、利用可能なコンパイラとの間で切り替えます「スキームの管理」ウィンドウで選択します。
このようにしてビルドプロセスの他の側面がアプリケーションに干渉する可能性があるのは確かです。特にビルド設定がこの時点でほぼ同じ場合は特にそうです。何か案は?
UPDATE
私はプロジェクトがXcodeの最新のベータ版を使用して問題なくビルドされることを発見しました。 Xcode 4.2.1に含まれるClangのバージョンに固有の問題を指摘しています。アップルはXcodeのベータ版でコンパイルされたアプリケーションの提出を許可しないので、私はまだ4.2.1内の解決策を探しています。
完全にデバッグモードで実行されている場合、これはアーキテクチャの問題をなぜ指摘していますか? "アーキテクチャ"と "有効なアーキテクチャ"のビルド設定には、プロジェクトとすべてのサブプロジェクトにarmv6とarmv7が含まれています。 – jverdi
あなたは、iPod touch 2nd Genで4.2.1リリースのビルドをテストしていると述べました。このデバイスを(後でカムするデバイスから)区別するのは、armv6のみをサポートしていることです。 –