3

だから私は構築しようとしている iPhone 静的ライブラリを持っています。この質問 (http://stackoverflow.com/questions/3520977/build-fat-static-library-device-simulator-using-xcode-and-sdk-4) で使用されたスクリプトを取得しましたが、私が遭遇した問題は、シミュレーター用の静的ライブラリーをまだ正常にビルドできないように見えることです。スタティック ライブラリ プロジェクトをビルドすると、次の警告が表示されます。

warning: no rule to process file '$(PROJECT_DIR)/GDInAppStore/GDInAppStore.m' of type sourcecode.c.objc for architecture i386
warning: no rule to process file '$(PROJECT_DIR)/GDInAppStore/SKProduct+priceAsString.m' of type sourcecode.c.objc for architecture i386
warning: no rule to process file '$(PROJECT_DIR)/GDInAppStore/VerificationControllerPBK.m' of type sourcecode.c.objc for architecture i386

この問題が、他のプロジェクトでこのエラーを引き起こしているビルドスクリプトから取得したユニバーサルライブラリにつながる問題を引き起こしていると思います

ld: warning: ignoring file /Users/abotkin/Projects/Static Libraries/GDInAppStore/libGDInAppStore.a, missing required architecture i386 in file
"_OBJC_CLASS_$_GDInAppStore", referenced from:
objc-class-ref in SubscribeNowInAppController.o
ld: symbol(s) not found for architecture i386

私は Xcode 4.3.2 を使用しており、i386 がアーキテクチャと有効なアーキテクチャに含まれるように、静的ライブラリ Xcode プロジェクトにフラグを設定しました。任意のヒント?

4

3 に答える 3

2

i386 用にコンパイルする場合は、シミュレーター用にビルドしていることを確認してください。基本的に、arch パラメーターは sdk パラメーターと一致する必要があります。すなわち

xcodebuild -project proj.xcodeproj -arch armv64 -sdk iphoneos8.1 ビルド

xcodebuild -project proj.xcodeproj -arch i386 -sdk iphonesimulator8.1 ビルド

于 2014-12-19T17:50:07.523 に答える
0

ここの他のトピックで彼が言及したカールのiOSユニバーサルフレームワークを使用して、この問題を回避することができましたhttps://stackoverflow.com/a/5721978/497718

そうは言っても、同じトピックでスクリプトを使用する際に間違っていた可能性があることを誰かが教えてくれたら、正しい方法でそれを行う方法を学びたいと思います.

于 2012-08-22T14:48:35.230 に答える