求助大神,cocoapods搜索出现end出现这个问题怎么解决

@ 21:18:18
· 作者
· 归类于
你可能会感兴趣的内容
使用了一段时间CocoaPods来管理Objective-c的类库,方便了不少。但是有一个小问题,当我在xcode输入import关键字的时候,没有自动联想补齐代码的功能,需要手工敲全了文件名,难以适应。
在stackoverflow上找到了:
Go to the Target > \”Build Settings\” tab and find the \”User Header Search Paths\” setting.
Set this to \”$(BUILT_PRODUCTS_DIR)\” and check the \”Recursive\” check box.
Now the built target will search the workspace’s shared build directory to locate the linkable header files.
简单说就是这么几步:
选择Target -> Build Settings 菜单,找到\”User Header Search Paths\”设置项
新增一个值$(BUILT_PRODUCTS_DIR),并且选择\”Recursive\”,这样xcode就会在项目目录中递归搜索文件
自动补齐功能马上就好使了。
发表于March 5, 2013 at 9:18 pm
: 可以任意转载, 转载时请务必以超链接形式标明文章和及此声明
评论已关闭。
分类当前位置: >
CocoaPods 的详细安装步骤,使用方法以及安装过程中出现的各种错误总结
来源:INFOCOOL & 发布时间:
& 作者:网友 &
浏览次数:
摘要: CocoaPods报错:The dependency `AFNetworking ` is not used in any concrete target 请点击进去参考: 报错误[!] Pods writt...
CocoaPods报错:The dependency `AFNetworking ` is not used in any concrete target
请点击进去参考:
报错误[!] Pods written in Swift can only be inte add `use_frameworks!` to your Podfil&请点进去参考:
CocoaPods详解之-Podfile.lock参考: cool.net/u/article/details/
使用cocoapods时常见错误:
参考至: cool.net/meegomeego/article/details/
开发时,项目中会引用许多第三方库,CocoaPods()可以用来方便的统一管理这些第三方库。
在Github上开源/CocoaPods/CocoaPods
CocoaPods的
需要在Ruby环境下进行。
1、Ruby环境搭建
Mac&&OS本身自带Ruby,但是需要更新一下版本。首先查看一下你的ruby版本,看看是否满足安装cocoapods时ruby的安装版本要求,因为我第一次安装在没有更新Ruby的情况下就失败了。
a. 查看下当前ruby版本:
打开终端输入:
终端输入:ruby -v(确实安装了,不过用这个版本接下来工作失败了,所以更新下ruby)
b. 更新ruby&
& & & 升级ruby终端输入:&
gem update --system
移除现有的Ruby
终端输入:
gem&sources&--remove&
使用china镜像:
终端输入:gem source -a (注意此处也可以把Ruby镜像指向taobao,避免被墙(二者可选一),如下)
gem sources -a & & &
注意:这里至(
已被更新为
淘宝ruby镜像:
gem sources -a
第一个命令是移除官方源,因为在不翻墙的情况下,使用起来比较慢;第二个命令是添加ruby-china的RubyGems镜像(很多旧教程都是说使用taobao的gem源,但是taobao的gem源已经停止维护了,
c.接下来运行一个命令查看是否成功添加了ruby-china的gem源:
终端输入:gem&source
出现如下表示成功:
2、下载安装CocoaPods
终端输入:sudo gem install cocoapods&
出现如下表示成功:
这样就下载安装好了
b.安装结束后,需要运行一下命令初始化CocoaPods:
终端输入:pod setup
出现如下表示安装完成
Setup completed
没有什么错误的话,就算了安装结束了。
可能存在的错误:
a. & gem版本过老:
gem是管理Ruby库和程序的标准包,如果它的版本过低也可能导致安装失败,解决方案自然是
b. 安装完成后,执行pod setup命令时报错:
这就是路径设置的问题,可以通过执行:
3、使用CocoaPods
a. &新建一个项目,名字PodTest(可以随便写) (这个项目最好放在桌面便于找)
b.创建Podfile
打开终端,使用cd命令定位到需要使用CocoaPods的项目根路径。
(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
终端输入:cd (你的项目的路径,即在你的项目路径的前面+cd)如上图所示,
& 注意:这里cd &和后面的路径间要有空隔,否则就会爆照不到文件的错误(我就是一直错在在这里)
再次输入:touch&Podfile &
首先进入到工程的根目录下,就能看到如图的
(PS:Podfile文件也可以不放在工程的根目录下,只是会稍微麻烦点,在下一篇文章中会有介绍,敬请关注。)
2、编辑Podfile
根据需要,我们可以在Podfile文件中写入需要用到的第三方库,以
ORStackView
AFNetworking
SwiftyJSON
三个库为例,
我的Podfile内容如下:
终端输入:执行pod install / pod update&
CocoaPods报错:The dependency `AFNetworking ` is not used in any concrete target
请点击进去参考:
报错误[!] Pods written in Swift can only be inte add `use_frameworks!` to your Podfil&请点进去参考:
可能是要添加的这个库 不支持swift导致&
解决办法:在podfile里面添加 use_frameworks!
platform&:ios,&'8.0' #use_frameworks!个别需要用到它,比如reactiveCocoa &
MyApp为你的项目的名字
def&pods & pod&'AFNetworking',&'~&&2.6' & pod&'ORStackView',&'~&&3.0'
& pod&'SwiftyJSON',&'~&&2.3'
use_frameworks! //在这里添加,设置支持
swift,如果不引进swift相关的类则可以不用写&
end target&'MyApp'&do & pods
就是在加入你需要的那些库之后最后再加一句use_frameworks!
3、执行导入命令
准备工作都完成后,开始导入第三方库:
[objc]& view plain copy
首先进入工程根目录,然后执行pod install命令,CocoaPods就开始为我们做下载源码、配置依赖关系、引入需要的framework等一些列工作,命令的执行结果打印出来如下:
这就说明pod install命令执行成功了。再来看看工程根目录发生的变化,如下图:
可以看到,工程的根目录下多了三个东西:CocoaPodsTest.xcworkspace、Podfile.lock文件和Pods目录。
再看看刚才执行完pod install命令打印出来的内容的最后一行:
[objc]& view plain copy
提示我们从现在起,我们需要使用CocoaPodsTest.xcworkspace文件来开发,
原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理。
即:CocoaPodsTest.xcworkspace,
说明事项:
对于工程发生的变化,有几点需要说明:
第三方库会被编译成静态库供我们正真的工程使用
CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工程,该工程就放在刚才新生成的Pods目录下。
整个第三方库工程会生成一个名称为libPods.a的静态库提供给我们自己的CocoaPodsTest工程使用。
我们的工程和第三方库所在的工程会由一个新生成的workspace管理
为了方便我们直观的管理工程和第三方库,CocoaPodsTest工程和Pods工程会被以workspace的形式组织和管理,也就是我们刚才看到的CocoaPodsTest.xcworkspace文件。
原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理。
打开CocoaPodsTest.xcworkspace,界面如下:
工程的目录结构还是非常明显的。
在项目中引用刚才添加的第三方库的头文件,执行编译操作,果断成功!
CocoaPods: pod search 搜索类库失败的解决办法
执行后可能会一直停在
Setting up CocoaPods master repo然后(很久)会出现如下错误:
[!] Failed to connect to GitHub to update the CocoaPods/Specs specs repo - Please check if you are offline, or that GitHub is down
解决办法是:
这说明CocoaPods还不能正常使用,需要更新pod,下载它的一些依赖包;在终端中输入:
&&&$ pod setup
过一段时间之后,你会在终端中看到跟上面同样的红色的错误信息。
这说明某些环境原因导致pod更新不了,可能原因有,1)gem版本太低;2)github无法链接;3).cocoapods目录下的配置信息错误。我们可以一个一个来排除,
首先更新gem到最新版本,在终端中输入:
$ sudo gem update --system&
然后检查是否可以ping通github,在终端中输入:
然后查看pob repo list:
$ pod repo list
说明Cocoapods在将它的信息下载到&~/.cocoapods里;
cd&&到该目录里,用du -sh *命令来查看文件大小,结果显示0 repos,说明没有安装成功;
在终端输入:
cd ~/.cocoapods
进入cocoapods文件后在终端输入:du -sh *
重新执行pod setup,过一段时间后提示setup completed,在终端中输入&pod list,展示出安装列表;
这样总算安装好了。接下来再一次输入:
pod search AFNetworking
执行pod setup
其实在你安装CocoaPods执行pod install时,系统会默认操作pod setup,然而由于中国强大的墙可能会pod setup不成功。这时就需要手动执行pod setup指令,如下:
终端输入:pod setup
会出现Setting up CocoaPods master repo,稍等几十秒,最底下会输出Setup completed。说明执行pod setup成功。
如果pod search操作还是搜索失败,如下:
终端输入:pod search AFNetworking
输出:Unable to find a pod with name, author, summary, or descriptionmatching 'AFNetworking’&,但是我输入pod search pop,却有相应的结果,会出现很多的第三方库。这时就需要继续下面的步骤才会得到上面你所搜索的库。
删除~/Library/Caches/CocoaPods目录下的search_index.json文件
pod setup成功后,依然不能pod search,是因为之前你执行pod search生成了search_index.json,此时需要删掉。
终端输入:rm ~/Library/Caches/CocoaPods/search_index.json
删除成功后,再执行pod search。
执行pod search
终端输入:pod search afnetworking(不区分大小写)
输出:Creating search index for spec repo 'master'.. Done!,稍等片刻······就会出现所有带有afnetworking字段的类库。
pod search afnetworking提示如下的错误:
[!]&Unable&to&find&a&pod&with&name,&author,&summary,&or&descriptionmatching&'······'
对于有些类库确实是在Cocoapods中所不存在的,为了确定我们搜索的库是不是真的在Cocoapods的Repos中存在,我们可以到
中进行搜索。
pod search
后出现如下:
这是他的一些搜索要求,可不必管,继续以上的
pod search,若出现错误可参考以上的方法解决。
CocoaPods的安装和使用
cocoapods 引入Alamofire 各种错误和解决
cocoapods 引入Alamofire 各种错误和解决
cocoapods的安装和使用以及版本升级遇到的问题
Cocoapods无法使用/安装失败/失效解决方法
我来说两句
友情链接:> 博客详情
如果需要回退pod版本,打包pod等,可以参考本人的这篇博客
添加一个链接
更新升级10.11 cocoapods安装出问题最简单的解决方法
这是因为10.11把cocoapods直接干掉了
sudo gem install -n /usr/local/bin cocoapods 再加一句,完美解决 sudo xcode-select --switch /Applications/Xcode.app
使用CocoaPods做依赖管理,使我们的工程更加自动化的、集中的、简单直观的管理第三方开源库。你不用下载开源库的源代码引入工程,不用向工 程中添加Framework,不用解决开源库和开源库以及开源库和工程之间的依赖、重复问题,也不用管开源库更新等一系列问题。有了CocoaPods, 你只管任性,CocoaPods会为你做好一切。
你需要会简单的使用命令行工具 CocoaPods唯一的限制就是在Ruby下运行,现在OS X都预装了Ruby,所以你只需要更新RubyGems到最新版本。 打开终端(control + space 真的很好用),然后输入如下的命令:
sudo gem update --system
会要你输入密码: 注意在终端中密码不显示字符,只要输完后按回车即可 用淘宝替换Ruby的默认源,替换命令如下:
gem sources --remove https://rubygems.org///等有反应之后再敲入以下命令gem sources -a http://ruby.taobao.org///验证是否替换成功可以执行gem sources -l
如图所示则证明替换成功
安装CocoaPods
在终端中输入如下命令:
sudo gem install cocoapods
安装过程是这样的:
安装完成如上图所示
在终端中输入如下命令来完成安装:
//将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下pod setup
它需要一点时间来完成,你等就是了 如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup 命令如下:
pod repo remove master & pod setup
完毕之后这个文件夹大概有 100多M,需要花费比较多时间,请耐心等待。 到这里你已经成功安装了CocoaPods!
创建配置Podfile
Xcode新建一个HelloWorld工程 打开终端,进入HelloWord工程目录下:
//工程的路径也可以直接拖进来 & & cd /Users/lifupeng/Desktop/HelloWorld
在HelloWorld工程下创建一个默认的Podfile 执行命令:
用Xcode打开Podfile命令:
open -a Xcode Podfile
Podfile是这样的:
Xcode打开Podfile
修改类库支持的最低iOS版本
将# platform:ios, "6.0"修改成 #platform :ios, "7.0"告诉CocoaPods你的工程是运行在iOS7下
为了让CocoaPods的引入不显示警告,在Podfile最上方加上:
inhibit_all_warnings!// 也可以单独设置打开编译警告就好了pod 'Alamofire', '~& 3.0.0-beta.3', :inhibit_warnings =& true
最后Podfile配置是这样的:
Podfile配置
搜索第三方开源库
以搜索AFNetworking为例,搜索命令如下:
pod search AFNetworking
搜索结果如下:
pod search AFNetworking结果
把下面内容:
pod 'AFNetworking', '~& 2.5.0'
添加到Podfile中
target 'HelloWorld' dopod 'AFNetworking', '~& 2.5.0'end
然后保存关闭
安装开源库到你的工程中。
在终端中输入下面命令:(确保在终端的路径在项目目录下):
pod install
至此 你已经成功的把AFNetworking添加到工程中了
[!] From now on use `ShowTracker.xcworkspace`
正如上面的警告提醒,从现在开始,你必须使用HelloWorld.xcworkspace来打开该项目。
为了让CocoaPods的引入不显示警告,在Podfile最上方加上:
inhibit_all_warnings!
重新运行pod install,编译项目,此时你应该看到警告已经不显示了。
PS: 对Podfile修改安装之后编译项目,可能会出现如下警告 :
& The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
此时,正确的做法是:
1.Project Cleanup2.Remove all libPods*.a in &Linked Frameworks and Libraries3.Update CocoaPods using the command &pod install
测试: & &添加 #import &AFNetworking.h&头文件 从此引用第三方库如此简单,希望各位用的爽
CocoaPods常用命令
1、pod install
根据Podfile文件指定的内容,安装依赖库,如果有Podfile.lock文件而且对应的Podfile文件未被修改,则会根据Podfile.lock文件指定的版本安装。 每次更新了Podfile文件时,都需要重新执行该命令,以便重新安装Pods依赖库。
2、pod update
若果Podfile中指定的依赖库版本不是写死的,当对应的依赖库有了更新,无论有没有Podfile.lock文件都会去获取Podfile文件描述的允许获取到的最新依赖库版本。
3、pod search
命令格式为:
$ pod search AFNetworking &AFNetworking为参数
4、查看版本
pod --version
5、卸载 cocoapods
sudo gem uninstall cocoapods
今天比较闲,就把CocoaPods升级到0.36.0正式版(以前写Swift的时候用的预览版)。然后就郁闷了,不管安装什么第三方都会出现类似于: [!] Unable to satisfy the following requirements: - `AFNetworking (~& 2.5.1)
一通的搜索后找到原因,因为GFW的缘故。解决方法: pod repo remove master pod repo add master /akuandev/Specs.gitpod repo update
1. [!] Invalid Podfile file: undefined local &variable or method `en_US' for #&Pod::Podfile:0xd8b0&. &Updating CocoaPods might fix the issue.
原因:单引号格式,可能是手动输入导致 解决办法:系统偏好设置-键盘-文本-将“使用智能引号和破折号”一项取消勾选-再将podfile里面的单(双)引号修改一下
2.ArgumentError - invalid byte sequence in US-ASCII 原因:字符集错误 解决办法: 使用locale命令查看当前的字符集,如果都是zh,需要执行以下命令: export LC_ALL=en_US.UTF-8 export.UTF-8 然后再使用locale命令查看,已经改过来了
[!] The YMTea [Debug] target overrides the OTHER_LDFLAGS &build setting defined in `Pods/Target Support &Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the &CocoaPods installation
Use the $(inherited) flag, or
Remove the build settings from the target.
[!] The YMTea [Release] target overrides the OTHER_LDFLAGS &build setting defined in `Pods/Target Support &Files/Pods/Pods.release.xcconfig'. This can lead to problems with the &CocoaPods installation
- Use the `$(inherited)` flag, or - Remove the build settings from the target.
原因:我是在已有项目中集成Cocoapods的时候遇到这个问题,原因是项目 Target 中做了一些设置,CocoaPods 也做了默认的设置,如果两个设置结果不一致,就会造成问题。 解决方法:我想要使用 CocoaPods 中的设置,分别在我的项目中定义PODS_ROOT 和 Other Linker Flags的地方(build settings),把他们的值用$(inherited)替换掉,进入终端,执行 pod update 警告没了,回到 Xcode,build通过。 网上还流行另外一种简单粗暴的方法:点击项目文件 project.xcodeproj,右键显示包内容,用文本编辑器打开project.pbxproj,删除OTHER_LDFLAGS的地方,保存(这种我没试过)
4. [!] Oh no, an error occurred.
It appears to have originated from your Podfile at line 2.
Search for existing GitHub issues similar to yours:
If none exists, create a ticket, with the template displayed above, on:
Be sure to first read the contributing guide for details on how to properly submit a ticket:
Don't forget to anonymize any private data!
原因:这个问题比较蛋疼,弄了好久,仔细看发现就是因为Podfile文件里面 platform 那一行 冒号和ios之间多了一个空格。。。。其实这个错误在报错的时候ruby已经给出了,只是一开始没有好好看:
6.安装出现问题
我现在需要安装Cocoapods 。gem的镜像一景更换为淘宝的了。 执行sudo gem install cocoapods出现错误:
ERROR: &While executing gem ... (Errno::EPERM) & &Operation not permitted - /usr/bin/xcodeproj
我估计是gem版本没有更新。执行sudo gem update --system,又出现了错误
ERROR: &While executing gem ... (Errno::EPERM) & &Operation not permitted - /usr/bin/update_rubygems
sudo gem install -n /usr/local/bin cocoapods --pre sudo gem install -n /usr/local/bin cocoapods
7.updata时候没反应,需要等很久
使用pod install --verbose --no-repo-update
或者等一段时间页可以成功
附:如何使用CocoaPods的镜像索引:
所有项目的Podspec文件都托管在/CocoaPods/Specs, 第一次执行pod setup时,CocoaPods会将这些podspec索引文件更新到本地的~/.cocoapods目录下, 这个索引文件比较大,所以第一次更新时非常慢. 友好人士在国内的服务器建立了Cocoapods索引库的镜像, 所以执行索引跟新操作时候会快很多.具体操作方法如下: $ pod repo remove master $ pod repo add master /akuandev/Specs.git $ pod repo update 这是使用gitcafe上的镜像,将以上代码中的 /akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用oschina上的镜像。
人打赏支持
码字总数 42383
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥
& 开源中国(OSChina.NET) |
开源中国社区(OSChina.net)是工信部
指定的官方社区解决CocoaPods在OS X 10.11上出现的问题。
&&&&最近把mac系统升级到10.11系统,但是在用pod install命令的时候,却提示 not found.后来上网查了下才知道,Cocoapods在10.11系统上发生了变化。
&&& 在stackoverflow搜到的解释是这样的,This is happening because
has enabled rootless on the new install,也就是说在10.11系统上已经启用无根的安装。在这种情况下,如果你使用如下的命令:
sudo&gem&install&cocoa&pods&-v
&&&&就会出现这样的提示:
ERROR:&&While&executing&gem&...&(Errno::EPERM)&Operation&not&permitted&-&/usr/bin/pod。
&&& 为了解决上面提到的问题,以及Cocoapods在OS X 10.11系统上的正常使用,我们需要在命令行输入这样一句话,
sudo&gem&install&-n&/usr/local/bin&cocoapods
&&&&这样就能解决Cocoapods在10.11系统上出现的问题了。

我要回帖

更多关于 求助大神这是什么歌6 的文章

 

随机推荐