そのため、2006 Macbook で構築したいプロジェクトで、REST サービス用のAFNetworkingライブラリを使用しようとしています。Macbook は、第 1 世代の 2006 32 ビット Core Duo と Snow Leopard です。
私はObjective-C開発にかなり慣れていないので、ここでAFNetworkingを始めるためのチュートリアルに従っています: https://github.com/AFNetworking/AFNetworking/wiki/Getting-Started-with-AFNetworking
xcode 4.2 を使用すると、私の問題は、新しいプロジェクトを作成してビルドしようとするとすぐに次のようになることです。
新しいプロジェクトのビルド設定を確認しましたが、何らかの理由で、私のマシンが 32 ビットの場合、xcode はデフォルトで 64 ビットの Intel アーキテクチャを前提としています?! 変。32ビットに交換しましたが、ここでエラーが発生しました。
したがって、次の方法で AppDelegate に独自のウィンドウ インスタンス変数を明示的に作成することで、このセマンティックな問題を修正できます。
NSWindow * _window;
32 ビット objc の構築についてこれについて読みました 。私が目にする多くのパブリック github プロジェクト コードで非常に一般的 (ivar 宣言の欠如) と思われるインスタンス変数なしでプロパティを合成します。誰もが今私たちに 64 ビットを強制していますか、それともインスタンス変数を作成するのが面倒なのでしょうか? :(
したがって、私の問題は、AFNetworking ライブラリが 64 ビット Intel 用に構築されたように見えることです。これは、プロジェクトに AFNetworking を追加すると、いたるところで同じセマンティック問題の ivar エラーが発生するためです。ライブラリ コードを見ると、プロパティのコード全体で宣言されている明示的なインスタンス変数はありません。
私はここで完全にめちゃくちゃですか?すべてのプロパティのインスタンス変数を手動で作成することでこの状況を修正できますが、これは長期的なプロジェクトのメンテナンスにとっては非常に苦痛です。
ここで私が望んでいるのは、これをすべてワンショットで修正するために追加できるある種のコンパイラフラグがあったことだと思いますか?? しかし、私は運が悪いのではないかと推測しており、この MacBook をゴミ箱に捨てて、新しい最新の 1 つを手に入れる時が来ました。