0

現在、iOS Salesforce Chatter 統合を iPad アプリに実装しています。Salesforce Mobile SDK が追加されたとき (MKNetworkKit-iOS を含む)、Reachability.o で重複したエラーが発生しました。MKNewtorkKit-iOS に Reachability が追加されていることは理解していますが、プロジェクト内からアクセスする必要もあります。

現在、#import "Reachability.h" を追加して、(コード内から) 到達可能性にアクセスしています。

プロジェクトから Reachibility クラスを読み取った場合、到達可能性クラスの MKNetworkKit-iOS コピーにアクセスする必要がありますが、「MKNetworkKit-iOS/Reachabilty.h」のようなものをインポートできません - それを期待してかなりの数の組み合わせを試しましたXcode のオートコンプリートは、このライブラリでは適切に機能しませんでしたが、うまくいきませんでした。

現在、iOS SDK 7.1 および最新の Salesfroce Mobile SDK 2.1.1 で Xcode 5.1 を使用しています (すべての変更は本日プルされました)。

私が見ているエラー:

/FULL_PATH_TO_BUILD_LOCATION/Build/Intermediates/LDPConference.build/Debug-iphoneos/LDPConference.build/Objects-normal/armv7/Reachability.o /FULL_PATH_TO_PROJECT/SalesforceMobileSDK/MKNetworkKit-iOS/libMKNetworkKit-iOS.a(Reachability. o) 重複するシンボル _OBJC_CLASS_$_Reachability は次のとおりです: /FULL_PATH_TO_BUILD_LOCATION/Build/Intermediates/LDPConference.build/Debug-iphoneos/LDPConference.build/Objects-normal/armv7/Reachability.o /FULL_PATH_TO_PROJECT/SalesforceMobileSDK/MKNetworkKit-iOS/libMKNetworkKit-iOS。 (Reachability.o) 重複シンボル _OBJC_METACLASS_$_Reachability : /FULL_PATH_TO_BUILD_LOCATION/Build/Intermediates/LDPConference.build/Debug-iphoneos/LDPConference.build/Objects-normal/armv7/Reachability.o /FULL_PATH_TO_PROJECT/SalesforceMobileSDK/MKNetworkKit-iOS/libMKNetworkKit-iOS.a(Reachability.o) ld: アーキテクチャ armv7 の 3 つの重複シンボル クラン: エラー: リンカー コマンドが終了コード 1 で失敗しました (呼び出しを確認するには -v を使用します)

これについて調べてくれてありがとう、J

4

2 に答える 2

3

Reachability.mコンパイルから2 つのファイルのいずれかを削除できます。

[プロジェクト設定] -> [ビルド フェーズ] -> [ソースのコンパイル] -> [Reachability.m] を選択 -> [削除] に移動します。

これはファイルをシステムから削除するのではなく、コンパイルからのみ削除します。ヘッダーが使用され、実装は複製されません。

名前の競合を避けるために、いずれかのクラスの名前を変更することもできます。

于 2014-03-12T12:23:58.473 に答える
1

どうもありがとう@ redent84。うまくいきました。

また、Salesforce フォーラムの Kevin Hawkins からも代替ソリューションの回答を受け取りました。

別の解決策は、SFNetworkEngine を通じて公開される到達可能性に便乗することです。

[SFNetworkEngine sharedInstance].reachabilityChangedHandler = ^(SFNetworkStatus newStatus) {
    // Handle your network changes here.
};

最終的には、MKNetworkKit の到達可能性機能を活用しています。

ここのセールスフォースフォーラムで同じトピック

于 2014-03-13T09:02:29.247 に答える