Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Xcode can';“运行后找不到接口声明”;吊舱安装“;_Ios_Objective C_Xcode_Cocoapods - Fatal编程技术网

Ios Xcode can';“运行后找不到接口声明”;吊舱安装“;

Ios Xcode can';“运行后找不到接口声明”;吊舱安装“;,ios,objective-c,xcode,cocoapods,Ios,Objective C,Xcode,Cocoapods,我继承了一个使用cocoapod的iOS项目 repo包括Pods目录,所有必要的Pods都被及时冻结。如果我克隆repo并构建应用程序,一切都很好。如果我运行pod update然后构建,我会得到一个错误: 找不到用于协作的接口声明 问题似乎在于一个名为CompositeOperations的库,它是从一个特定的git帐户(不是直接从cocoapods获得的-不确定这是否重要,只是试图提供尽可能多的信息)中提取的。Xcode发现库很好,但由于某些原因,它没有加载接口文件中声明的类 在我看来,在

我继承了一个使用cocoapod的iOS项目

repo包括Pods目录,所有必要的Pods都被及时冻结。如果我克隆repo并构建应用程序,一切都很好。如果我运行
pod update
然后构建,我会得到一个错误:

找不到用于协作的接口声明

问题似乎在于一个名为CompositeOperations的库,它是从一个特定的git帐户(不是直接从cocoapods获得的-不确定这是否重要,只是试图提供尽可能多的信息)中提取的。Xcode发现库很好,但由于某些原因,它没有加载接口文件中声明的类

在我看来,在回购协议中包含Pods目录是愚蠢的。我觉得开发人员应该克隆repo,然后发布
git-install
,以删除所有依赖项

为了让Xcode成功构建我的项目,我需要调整什么,有什么建议吗

MessageScreenDataFetchOperation.h
中的实际错误是:

/Users/user/src/myapp/myapp iOS/Classes/Shared/Operations/MessageScreenDataFetchOperation.h:13:46: 找不到“协作”的接口声明,超类为 “MessageScreenDataFetchOperation”;你是说“手术”吗

下面是
MessageScreenDataFetchOperation.h
的样子:

#import <CompositeOperations/COOperation.h>

@protocol GroupRef;

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

您是否尝试过在不使用POD的情况下添加
合成操作
?那个豆荚对椰子豆荚来说似乎过时了:

您是否尝试过在不使用POD的情况下添加
合成操作?那个豆荚对椰子豆荚来说似乎过时了:

结果表明,嵌入Xcode项目的版本是一个旧得多的版本。pod文件不受版本号的限制,因此运行“pod update”将库更新为最新版本,该版本有重大更改,使其与我的代码库不兼容

在运行
pod update
并注意到版本之间的巨大差异后,我通过区分
Podfile.lock
找到了答案


我继续删除Pods目录和.xcworkspace文件,但修改了Podile,以基于特定标记限制库

结果表明,嵌入Xcode项目的版本是一个旧得多的版本。pod文件不受版本号的限制,因此运行“pod update”将库更新为最新版本,该版本有重大更改,使其与我的代码库不兼容

在运行
pod update
并注意到版本之间的巨大差异后,我通过区分
Podfile.lock
找到了答案


我继续删除Pods目录和.xcworkspace文件,但修改了Podile,以基于特定标记限制库

您可能应该显示您的pod文件、有问题的声明以及如何导入库…谢谢@l'l,我已经粘贴了上面的所有内容。您可能应该显示您的pod文件、有问题的声明以及如何导入库…谢谢@l'l,我已经粘贴了上面的所有内容。
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