【发布时间】:2015-04-30 01:21:09
【问题描述】:
目标:通过 travis-ci 和工作服构建一个具有 CI 支持的 cocoapod。
子目标:清除 git repo 中的 Pods/,同时仍包括 Podfile 和 Podfile.lock
参考回购:SRRandomUser
注意:虽然确实存在一个简单的变通解决方案(只是从我的 .gitignore 中删除 Pod/,但我提出这个问题是因为它可能有助于理解这个问题以供未来工作。
这是我发现自己所处的情况:
- 使用FSNetworking 进行网络请求。
- 它的一个类
FSNData有一个类方法withImage:jpegQuality:fileName:,它接受UIImage和CGFloat作为参数。 - 在不为
UIKit和CoreGraphics添加@import的情况下构建此文件会导致在引用UIImage和CGFloat参数时出现expected a type的编译器错误 - 在本地,这不是问题,因为我可以添加模块
@imports,但是由于我没有提交整个Pods/目录,因此不会推送这些更改
- 它的一个类
- Travis 收到了构建并尝试构建,但由于
FSNData没有导入CoreGraphics或UIKit,当 Travis 去构建项目时,it throws the error inSRRandomUserGenerator因为该类是#importing受影响的FSNData类:
✗ 编译 SRRandomUserGenerator.m (73 ms)
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.
所以,我的问题是:
- 如何使该警告静音以使构建无论如何运行或
- 如何让 Pod 包含正确的构建框架?
非常感谢,所以。
【问题讨论】:
-
查看这篇文章:somethingaboutios.wordpress.com/2016/02/05/…。也许可以帮助您解决问题。
-
@Gabriel.Massana 非常棒的帖子,而且文档中非常缺乏的主题。我不认为它直接解决了我遇到的问题,但我认为我接下来的步骤是以您所写的类似方式使用
travis.yml的script部分。对我来说,我的项目中的内置库似乎没有被链接以供 CocoaPod 使用......不知何故。老实说,在你的评论让我再次思考之前,我已经很久没有真正看过这个了:)
标签: objective-c continuous-integration llvm cocoapods travis-ci