2

ベースSDKios5.0を使用してios4.1を対象としたアプリを作成し、3G(ios 4.3.3)3GS(5.1)3GS(5.0)iPad(5.1)でテストしました。私のアプリは、これらすべてのデバイスで正常に動作しました。ただし、Appleが最終的にアプリを受け入れ、同じデバイスにダウンロードした場合、動作が変更されました。問題は、表示されるページが大きすぎることですが、それらを移動すると、画面に適切にフィットし始めます。公開後のアプリの動作が変わったときに、同じような状況に遭遇した人はいますか?

そして最も重要です。実際のデバイスでMacから実行された同じアプリが優れたパフォーマンスを発揮する場合、このバグを再現するにはどうすればよいですか?ベースSDKがlatest(5.0)に設定されていることを追加できますが、アプリはios5.1をサポートしないXCode4.2でアーカイブされました。

私に親切にしてください、これは私の最初の質問です:)

編集:hotpawの役立つヒントの後、問題がリリースビルドにあることを確認しました。run confでターゲットを変更した後、デバイスでバグを再現できます。デバッグからリリースまで。

興味深いことに、イライラするので、問題を解決することはできませんが、xcode 4.3のリリースモードでアプリケーションをテストしましたが、完全に機能しています。何も変更していませんが、動作します。ビルドをパックできません(問題Xcode 4.3.1を参照-パッケージ化操作が失敗しました)ので、xcode4.2でスタックします

しばらくの間、このバグはサムのためにコンパイルするときにコンパイラーが原因であると考えていました。解決策は、他のcフラグに-mno-thumbを追加することです。しかし、私はそのフラグを強制することができません。参照:iOS5 Xcode4.2浮動小数点バイトアラインエラー?

コンパイルログを比較すると、xcode4.2が-archarmv6を使用している場合、xcode4.3は-archarmv6を使用してコンパイルされていることがわかります。しかし、それは私がコンピューターに接続するのと同じデバイスです。私は他の違いを見つけていませんが、それらは存在する可能性があります。役立つ場合は、サンプルファイルのコンパイルログを貼り付けることができます。

4

2 に答える 2

4

これは、デバッグ ビルドのみをテストしてから、リリース ビルドをアプリ ストアに送信した場合に発生する可能性があります。最終テストでは、Xcode を強制的にリリース ビルドでテストし (おそらくデフォルト スキームを編集して)、コード署名以外のビルド設定をまったく変更せずにこのビルドを送信する必要があります。

アプリの以前のすべてのビルドが削除されたばかりのリセットされたデバイスで、iTunes を介してアドホック インストールすることにより、リリース ビルドを最終テストすることもできます。これを行うには、Apple の指示を参照してください。

于 2012-04-07T20:49:03.303 に答える
1

問題はバグのあるコンパイラにありました!

-mno-thumb をプロジェクトに適用した後、違いに気付かなかったのは、私が使用したライブラリ (Three20) が、私のプロジェクトではなく問題を引き起こした armv6 のみをコンパイルするように設定されていたためです。-mno-thumb を Three20 のすべてのプロジェクトに追加した後、バグは消えました!

この問題について Three20 チームに通知します。

于 2012-04-11T09:12:42.573 に答える