ABAddressBook API を使用するアプリがあり、ARC を使用するようにアプリを変換しようとしています。
AddressBook API はネイティブ C で記述されており、ARC が有効になっていると多くのエラーが発生することは知っています。
誰かがそれを行う方法を知っていますか、それともそれを行う価値がありますか?
前もって感謝します。
ABAddressBook API を使用するアプリがあり、ARC を使用するようにアプリを変換しようとしています。
AddressBook API はネイティブ C で記述されており、ARC が有効になっていると多くのエラーが発生することは知っています。
誰かがそれを行う方法を知っていますか、それともそれを行う価値がありますか?
前もって感謝します。
バーテンダー、
まず、作業コードは作業コードです。同じアプリで両方の種類のメモリ管理メカニズムを簡単に組み合わせることができます。他の目的でコードを開くときに、クラスをARCに変換するだけです。これにより、アプリをゆっくりとARCに移動できます。なぜこのコードを変更してARCを使用したいのですか?
次に、Core FoundationアイテムとARCの間のインターフェイスは複雑に見える場合がありますが、そうではありません。ほとんどの問題は、__bridge
型修飾子を使用して処理されます。通常、コンパイラ/修正-それはあなたが何をする必要があるかを正確に教えてくれます。(動作し、リークのないCFコードを変更する必要はありません。ARCにそのままにしておくように指示するだけです。)
アンドリュー
考えられる解決策の 1 つは、変換に問題を引き起こしているコードにコンパイラ フラグを設定することです。使用している特定のターゲットのビルド設定に移動し、問題のあるファイルにフラグ「-fno-objc-arc」を追加します。また、発生している実際の問題に関する詳細情報も役立ちます。