14

XMPPFrameworkを機能させるのに非常に苦労しています。私はネット上に書かれたすべての指示に従いましたが、XCodeは私のXMPPFrameworkクラスを見つけられません。

'XMPPStream'の前に予期されるspecifier-qualifier-listXMPP.h:そのようなファイルまたはディレクトリはありませんXMPPRoster.h:そのようなファイルまたはディレクトリはありません

XMPPFrameworkをプロジェクトのルートディレクトリにコピーしました。これらのファイルが表示されないのはなぜですか?ヘッダー検索パスまたはライブラリ検索パスで実行する必要があることはありますか?

これらのエントリを$(継承)と$(SRCROOT)に設定しましたが、XCode 4.2はプロジェクトのルートディレクトリに自動入力されますが、ファイルが見つかりません。

この問題を抱えているのは私だけではなく、ショートッパーだと確信しています。何か案は?

4

3 に答える 3

38

githubのwikiは古くなっています。これが私がXMPPFramework手動でインストールした方法です。

ステップ1

XMPPFrameworkリポジトリをマシンのどこかに複製し、必要なフォルダをsomewhere/XMPPFrameworkXcodeプロジェクトにドラッグします。

必要なフォルダは次のとおりです。

  • ベンダー/CocoaAsyncSocket
  • ベンダー/CocoaLumberjack
  • ベンダー/KissXML
  • ベンダー/libidn
  • 認証
  • カテゴリ
  • ユーティリティ

必要な場合もありますがExtensions、オプションです。

フォルダをXcodeにドラッグするときは、この画像とまったく同じようにチェックボックス/ラジオボタンを選択することが重要です。

ここに画像の説明を入力してください

ステップ2

a)XcodeにドラッグSample_XMPPFramework.hし、手順1のようにチェックボックス/ラジオボタンを選択します

b)名前を次のように変更しますXMPPFramework.h

c)XMPPFramework.hニーズに基づいてコンテンツをカスタマイズします。(私は何も変更しませんでした)

手順1と2を実行した後、Xcodeプロジェクトナビゲータでファイル構造は次のようになります。

ここに画像の説明を入力してください

ステップ3

次のフレームワークとライブラリをリンクする

  • CFNetwork.framework
  • Security.framework
  • libxml2.dylib
  • libresolv.dylib
  • libidn.a

ここに画像の説明を入力してください

ステップ4

次の2行を追加しましたBuild Settings

  • 他のリンカーフラグ=-lxml2 ここに画像の説明を入力してください
  • ヘッダー検索パス=/usr / include / libxml2 ここに画像の説明を入力してください

これらの4つのステップの後であなたは元気になるはずです。#import <UIKit/UIKit.h>ただし、通常は使用する前に行う必要があることに注意してくださいXMPPFramework

于 2015-05-30T08:21:28.897 に答える
4

XMPPFramework gitHub wiki 1には、プロジェクトのXMPPFrameworkのセットアップに役立つステップバイステップの説明があります。

実際、あなたが言及したエラーは、指示によっても示されているものに近いものです。

「ただし、「#import XMPP.h」を呼び出すなどしてXMPPFrameworkクラスをインポートすると、XCodeに「XMPP.hが見つかりません」というエラーが表示されます。XCodeはXMPPFrameworkファイルを検出していないようです。」

手順が特にiOS-5を対象としていない場合でも、これにより、直面しているこの問題を解決するのに十分な情報が得られることを願っています。

于 2012-04-05T11:05:42.047 に答える
0

@Brianの回答の指示に関連する追加情報。

手順3への追加:
libxml2.dylibなどのlibファイルが[追加するフレームワークとライブラリの選択]ウィンドウで使用できない場合は、次の手順に従って見つけてください。

  1. クリックAdd Other...
  2. ファイル選択ウィンドウで、COMMAND+SHIFT+G(フォルダに移動)
  3. 入力 /usr/lib してから、EnterまたはをクリックしますGo
  4. 必要な.dylibファイルを選択してクリックしますOpen

ステップ4の後:
XMPPFrameworkとその依存関係がARCを使用することにも注意してください。アプリが主にARCではなくMRRを使用している場合は、アプリをARCに変換するか、手順5を実行します。

ステップ5

-fobjc-arcXMPPFrameworkファイルにコンパイラフラグを追加します。

Xcodeでは、XMPPFrameworkを使用するターゲットごとに、

  • ターゲットの設定に移動します
  • に移動Build Phases
  • 拡大Compile Sources
  • リストからすべてのXMPPFramework関連ファイルを選択します
  • を押しEnterて、コンパイラフラグの編集ウィンドウを開きます
  • タイプ-fobjc-arc
  • Enterもう一度変更を保存します。

Compile Sourcesリストは並べ替えられていないため、検索フィールドを使用してリストをフィルタリングしXMPP、次にでフィルタリングすると便利XEPです。これでほとんどのファイルが見つかりますが、ファイルの完全なリストから選択する必要のあるファイルがまだいくつかあります。

于 2015-12-03T00:44:34.897 に答える