2012-02-10 5 views
2

私は静的ライブラリ製品を作っています。私はARCを使用したいが、私の顧客の1人は自分のアプリをiOS 3.2に向けたいと思っている。また、ARMv6アーキテクチャをターゲットにしたいと考えています。プロジェクトターゲットiOS 3.2にARCを使用するスタティックライブラリをリンクできますか?

OK。私は要件を受け入れなければならない。私が知っているように、weakのないARCはコンパイラ機能なので、静的ライブラリ自体に違いはないと思うし、iOS 4.0を必要としないだろう。しかし、私が知っているように、AppleはiOSを4.0に制限しています。私は3.2デバイスを持っていないので、私自身はこれを決めることができません:(

ここで、iOS 3.2でARCコードをテストした人はいますか?それがうまくいけば、ARCに移り、ARCでライブラリをコンパイルし、ライブラリを私の顧客に強制することができますが、私は4.0を使用するよう強制できますが、ARMv6についてはわかりません。私はあなたの経験を知っている。

+1

私の答えで言及したように、iOS 4.xでの静的ライブラリの互換性には微妙な違いがあるため、質問はあなたの完全な複製ではありません。 –

+0

ありがとう@BradLarson。閉じる投票は削除できません:( – Eonil

答えて

3

自動参照カウントでは動作する必要があります(iOS 4.0と64ビットSnow Leopardに存在する)ので、ARC対応プロジェクトは対象にできませんiPhone OS 3.x。実行時に失敗します。

ARCが有効になっている静的ライブラリをiOS 4.xにデプロイする際は、ご注意ください。 this answerで説明しているように、ARC以外のアプリケーションでARC対応の静的ライブラリを使用している場合は、iOS 4.xでこのアプリケーションをターゲットにしている場合はlibarclite_iphoneos.aライブラリに手動でリンクする必要があります。これはARCが有効なアプリケーションにはデフォルトで含まれていますが、ARC対応のライブラリとリンクする非ARCアプリケーションには存在しません。

関連する問題