0

フレームワークでの HOWTO デバッグについて、昨日ここで質問しました。

とプロジェクトnetworkLibがあります。usingLibDemo

答えは、ソースコードでデバッグできるようにをプルすることを示唆していnetworkLibます。usingLibDemo

今私は試しました:

  1. からフレームワークを出力し、 でフレームワークnetworkLibを使用し usingLibDemoます。できます。
  2. のすべてのソース コードを にコピーすると、networkLib再びusingLibDemo機能します。
  3. networkLibプロジェクトをusingLibDemoプロジェクトに ドラッグし、 で を設定Header Search Pathsし、 でBuild Settingsを設定Target DependenciesBuild Phasesます。失敗します。

#3 の状況では、ヘッダーのみを使用するとプロジェクトが正常にビルドされます。たとえば、次のプロトコルを使用します。

@interface ViewController : UIViewController <LoginUIDelegate>

@property (retain, nonatomic) IBOutlet UITextField *usernameText;
@property (retain, nonatomic) IBOutlet UITextField *passwordText;
@property (retain, nonatomic) IBOutlet UIButton *loginButton;

- (IBAction)loginBtnDidClick:(id)sender;

@end

しかし、.mファイル内のコードを使用すると:

[[LoginBizLogic sharedInstance] loginWithUsername:username password:password tokenLogin:NO uiDelegate:self];

以下のようにビルドに失敗しました:

ここに画像の説明を入力

@interfaceLoginBizLogic の およびはファイルでLoginUIDelegate定義されていますが、は「LoginBizLogic.m」ファイルにあります。LoginBizLogic.h@implementation

LoginBizLogicが適切にリンクされていないと思います。他のクラスも同様ですが、どこに問題があるのか​​、どこに設定すればよいのかわかりません。

どうもありがとう。

4

2 に答える 2

2

アーキテクチャ i386 のこの未定義シンボルから回答を読み取ります: _OBJC_CLASS_$_SKPSMTPMessage"、参照元: エラー

クラスの .m ファイルが、ターゲットの [ビルド フェーズ] タブの [ソースのコンパイル] ステップにリストされていない場合、このタイプのエラーが発生する可能性があります。通常、Xcode がこれを行いますが、プロットが失われる場合があり、手動で .m ファイルを追加する必要があります。

あなたの場合:

TargetSettings -> Build Phases -> Compile Sources -> add your .m file  ->Build and Run 
于 2013-03-28T05:30:18.860 に答える
1

ありがとう、@iPatel

あなたの答えから、私は問題がどこにあるかを知っています:

ここに画像の説明を入力

およびインポートされたファイルを明示的にコンパイルする方法networkLibですが、選択するにはファイルが多すぎます。

ここに画像の説明を入力

135 個のアイテムを選択するのは面倒なので、依存関係を設定しました。

ここに画像の説明を入力

ここに画像の説明を入力

だから私はコンパイルする前に、コンパイルusingLibDemonetworkLibれていると思います。

コンパイルされていますが、シンボルが見つからないのはなぜですか? -------> リンクされていません!リンク用のライブラリをインポートします。

ここに画像の説明を入力

それでおしまい!再度、感謝します。

于 2013-03-28T05:59:42.133 に答える