Cocoapod未能在Travis-CI上建立 - "预期类型"

Lou*_*Tur 5 continuous-integration objective-c llvm travis-ci cocoapods

目标:通过travis-ci和工作服建立一个CI支持的cocoapod.

子目标:保持git repo清除Pods/,同时仍包括PodfilePodfile.lock

引用的回购:SRRandomUser

注意:虽然确实存在一个简单的解决方案解决方案(只是Pod/从我的移除.gitignore,我问这个问题,因为它可能有助于理解这个问题,以便将来的工作.


这是我发现自己的情况:

  1. 使用FSNetworking进行网络请求.
    • 它的FSNData一个类有一个withImage:jpegQuality:fileName:接受a UIImageCGFloatas参数的类方法.
    • 建立这个文件,而无需添加@import用于UIKitCoreGraphics在编译器错误的结果expected a type,参照UIImageCGFloat参数
    • 在本地,这不是问题,因为我可以添加模块@import,但是因为我没有提交整个Pods/目录,所以这些更改不会被推送
  2. Travis收到了构建并尝试构建,但由于FSNData没有CoreGraphicsUIKit导入,当Travis去构建项目时,它会抛出错误,SRRandomUserGenerator因为该类正在#import受影响的FSNData类:

✗编译SRRandomUserGenerator.m(73毫秒)

In file included from /Users/travis/build/spacedrabbit/SRRandomUser/Random Strangers/SRRandomUser/SRRandomUser/SRRandomUserAPIManager.h:10:
In file included from /Users/travis/build/spacedrabbit/SRRandomUser/Random Strangers/SRRandomUser/../../Pods/Headers/Public/FSNetworking/FSNConnection.h:36:
/Users/travis/build/spacedrabbit/SRRandomUser/Random Strangers/SRRandomUser/../../Pods/Headers/Public/FSNetworking/FSNData.h:42:18: error: expected a type
+ (id)withImage:(UIImage*)image jpegQuality:(CGFloat)quality fileName:(NSString*)fileName;
                    ^
/Users/travis/build/spacedrabbit/SRRandomUser/Random Strangers/SRRandomUser/../../Pods/Headers/Public/FSNetworking/FSNData.h:42:46: error: expected a type
+ (id)withImage:(UIImage*)image jpegQuality:(CGFloat)quality fileName: (NSString*)fileName;
                                               ^
2 errors generated.
Run Code Online (Sandbox Code Playgroud)

所以,我的问题是:

  • 我如何沉默警告,以便无论如何运行或运行
  • 如何让Pod包含正确的构建框架?

非常感谢,SO.

KFD*_*oom 0

我建议尝试通过 Cocoapods.org 搜索您需要的框架。如果您使用的是 Cocoapods,这通常意味着它已链接到您的项目(因此实际上没有办法消除错误,特别是在这种情况下,您使用的框架似乎依赖于其他框架)