码迷,mamicode.com
首页 > 其他好文 > 详细

CocoaPods Podfile 文件写法有讲究

时间:2015-07-25 18:10:57      阅读:551      评论:0      收藏:0      [点我收藏+]

标签:

最近做到一些项目想到用 OC/Swift混编的问题、为了搞懂 bridge header 这个文件是咋个情况、却一致报错。最后不知不觉发现问题问题居然出在 Podfile 上。

开始我是从 IT 江湖的客户端开始了解Swift 的。git 下载下来发现build 不成功局让Clear 都是fail。不明白就把提示的问题放到网上去搜索发现还是不能解决问题。后来干脆自己建一个新项目发现还是存在问题。

error: unable to read module map contents from Target Support Files/Pods-SwiftyJSON/Pods-SwiftyJSON.modulemap: Error Domain=NSCocoaErrorDomain Code=260 "The file “Pods-SwiftyJSON.modulemap” couldn’t be opened because there is no such file." UserInfo=0x7faa00b59880 {NSFilePath=/Users/kyjun/Downloads/itjh-new15.01/Pods/Target Support Files/Pods-SwiftyJSON/Pods-SwiftyJSON.modulemap, NSUnderlyingError=0x7fa9fde95400 "The operation couldn’t be completed. No such file or directory"}
error: unable to read module map contents from Target Support Files/Pods-SwiftyJSON/Pods-SwiftyJSON.modulemap: Error Domain=NSCocoaErrorDomain Code=260 "The file “Pods-SwiftyJSON.modulemap” couldn’t be opened because there is no such file." UserInfo=0x7faa00ad0e50 {NSFilePath=/Users/kyjun/Downloads/itjh-new15.01/Pods/Target Support Files/Pods-SwiftyJSON/Pods-SwiftyJSON.modulemap, NSUnderlyingError=0x7fa9feadd930 "The operation couldn’t be completed. No such file or directory"}

后来发现“/Users/kyjun/Downloads/itjh-new15.01/Pods/Target Support Files/Pods-SwiftyJSON/Pods-SwiftyJSON.modulemap” 这个路径根本就不是我的项目路径啊!真心搞不懂。

最后将问题锁定在Podfile 上。下面介绍一下我之前的Podfile的写法:

platform :ios, 7.0
pod MBProgressHUD, ~> 0.8
pod FMDB, ~> 2.2
pod SDWebImage, ~> 3.5.2
pod Reachability, ~> 3.1.1
pod ASIHTTPRequest, ~> 1.8.1
pod DTCoreText, ~> 1.6.11
pod MJRefresh, ~> 1.4.6
pod UMengFeedback, ~> 2.2
pod ZBarSDK, ~> 1.3.1
pod CHTCollectionViewWaterfallLayout, ~> 0.9.1
pod DZNEmptyDataSet, ~> 1.5.2
pod MWPhotoBrowser

其实这样写是没有问题的、但是有可能会照成上面提到的错误信息。原因猜想可能是因为没有指定对应的 porject 或者 podfile 没有指定当前文件应该用于那个项目。导致在其他项目中用到同样的类库是会提示路径不匹配。

给大家一个建议以后创建项目是先创建一个空项目。

接下来看看我现在的Podfile 的写法:

=begin
这里写注释
=end

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

platform :ios, 7.0
inhibit_all_warnings!

xcodeproj Demo.xcodeproj

target :Demo1 do
  pod MBProgressHUD, ~> 0.9.1
  pod AFNetworking, ~> 2.5.4
  pod MJRefresh, ~> 2.3.2
end
target :Demo2 do
  pod MBProgressHUD, ~> 0.9.1
  pod AFNetworking, ~> 2.5.4
  pod MJRefresh, ~> 2.3.2
end

说说重点:xcodeproj ‘demo.xcodeporj’ 这个指明用于那个项目.

             target :Demo1 指明对应那个Target

这里说一说 为什么最好先建一个空项目。 大家都知道一个项目可以有多个Target 如果我们的项目名称和Target 的名称一致就会产生一个 Pod.debug 的配置文件,也就不会产生一个和Target 一致的Pod-target.debug 的配置文件。pod.debug 也是一个默认的配置文件。

如果我们在 xcodeporj 和 Target 之间 添加 pod ‘AFNetworking’ 同样会产生这个默认的配置文件。

遇到问题记录下来也希望看到的同仁有不同意见的一起讨论!

CocoaPods Podfile 文件写法有讲究

标签:

原文地址:http://www.cnblogs.com/softwaretailor/p/4676287.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!