2016-11-11 9 views
1

私はcocoapodsを使用するiOSプロジェクトを継承しました。"pod install"を実行した後、Xcodeがインターフェイス宣言を見つけることができません

レポには、すべての必要なポッドが時間通りに固定されたポッドディレクトリが含まれています。私がレポをクローンしてアプリをビルドすると、すべて正常です。私はpod updateを実行してからビルドした場合、私はエラーを取得する:

Cannot find interface declaration for COOperation.

問題は、直接、特定のGitのアカウントから(ないcocoapodsから引き込まれCompositeOperations、というライブラリであると思われる - その場合はわかりませんできるだけ多くの情報を提供しようとしています)。 Xcodeはライブラリをうまく見つけていますが、何らかの理由でインタフェースファイルに宣言されているクラスがロードされていません。

リポジトリにPodsディレクトリを含めることは私には馬鹿馬鹿しいようです。私は開発者がレポをクローンしてからすべての依存関係を取り下げるためにgit installを発行する必要があるように感じます。

私のプロジェクトを正常に構築するためにXcodeを調整するために必要なことはありますか?

MessageScreenDataFetchOperation.hの実際の誤差は次のとおりです。

/Users/user/src/myapp/myapp-iOS/Classes/Shared/Operations/MessageScreenDataFetchOperation.h:13:46: Cannot find interface declaration for 'COOperation', superclass of 'MessageScreenDataFetchOperation'; did you mean 'NSOperation'?

そして、ここでは、MessageScreenDataFetchOperation.hは次のようになります。

#import <CompositeOperations/COOperation.h> 

@protocol GroupRef; 

@interface MessageScreenDataFetchOperation : COOperation 
- (id)initWithMessageId:(NSNumber *)messageId group:(id <GroupRef>)groupRef memberId:(NSNumber *)memberId; 
@end 

ここに私のPodfileです:

platform :ios, '8.0' 

source 'https://github.com/CocoaPods/Specs.git' 

target :MyTarget do 
    pod 'RestKit', '~> 0.24.0' 
    pod 'CompositeOperations', :git => 'https://github.com/stanislaw/CompositeOperations.git' 

    pod 'MBProgressHUD', '~> 0.8' 
    pod 'EKKeyboardAvoiding', '~> 2.0' 
    pod 'RBStoryboardLink', '0.1.0' 
    pod 'SWRevealViewController', '~> 2.0.0' 
    pod 'youtube-ios-player-helper', :git => 'https://github.com/stanislaw/youtube-ios-player-helper', :branch => '0.1.1-and-no-ads' 
    pod 'SZTextView' 

    pod 'MagicKit', :git => 'https://github.com/stanislaw/MagicKit' 
    pod 'ECPhoneNumberFormatter', :git => 'https://github.com/enriquez/ECPhoneNumberFormatter.git' 
    pod 'SSKeychain' 
    pod 'Mantle' 
    pod 'RSEnvironment', :git => 'https://github.com/rabovik/RSEnvironment' 

    pod 'FBSDKCoreKit' 
    pod 'FBSDKLoginKit' 
    pod 'FBSDKShareKit' 

    # Analytics 
    pod 'FlurrySDK', '5.1.0' 
    pod 'Fabric' 
    pod 'Crashlytics' 

    pod 'NewRelicAgent' 

    # Logging 
    pod 'EchoLogger', :git => 'https://github.com/stanislaw/EchoLogger' 
    pod 'AFNetworkingLogger', :git => 'https://github.com/stanislaw/AFNetworkingLogger' 
end 

target :MyTargetUnitTests do 
    pod 'OCMock', '~> 3.0' 
    pod 'Kiwi' 
    pod 'JPSimulatorHacks', :git => 'https://github.com/plu/JPSimulatorHacks' 
end 
+0

あなたのポッドファイル、問題の宣言、そしてあなたがlibをどのようにインポートしているのかを、おそらく表示してください... –

+0

感謝します@ l'l'l、上記のすべてを貼り付けました。 – djibouti33

答えて

0

あなたは使用せずCompositeOperationsを追加しようとしたことがありポッド?そのポッドはココアポッドに時代遅れになっているようです。 https://cocoapods.org/?q=CompositeOperations

0

Xcodeプロジェクトに焼き付けられたバージョンは、かなり古いバージョンでした。 Podfileはバージョン番号によって制限されていなかったので、 'pod update'を実行すると、ライブラリが最新のバージョンに更新されました。これには大きな変更があり、コードベースと互換性がありません。

pod updateを実行してバージョンの大幅な違いに気づいた後、私はdiff3をPodfile.lockとしました。

私はPodsディレクトリと.xcworkspaceファイルを削除することに進みましたが、Podileを修正して特定のタグに基づいてライブラリを制限しました。

関連する問題