您的位置:首页 > 运维架构

OS X EI Captian install CocoaPods While executing gem ... (Errno::EPERM) Operation not permitted

2015-11-12 14:52 405 查看
有关第三方库的引入,本人一直很纠结。其实目前存在的很多项目,都是大量使用第三方库,一方面是因为项目紧张,没时间研究底层的东西,另一个也有技术实现比较难的考虑,所以AFNetWorking,SDWebImage…这些使用方便的库比较流行,说实话,像这样长期有人维护,并且方便引入的东西,我们确实可以借鉴,成功是站在巨人的肩膀上嘛。。。

但是,就目前国内的情况看,很多公司以为开发者提供便利而谋取自己的利益,比如说,集成一堆分享功能,统计一下访问率,收集一下crash日志等,出发点是好的,但是公司要盈利,这些SDK中难免会有一些隐蔽功能,让我们无法察觉,对于Apple公司而言,这些隐蔽的操作是绝对不允许的,所以就出现了有些使用友盟SDK 的app被拒绝,蒲公英的FIR库被进入黑名单,一旦你的app使用了,审核的时候就莫名其妙的被拒绝。

好了,废话一堆,就一句:请谨慎使用第三方SDK

进入今天的主题,有关安装cocoaPods的教程,已经有很多前辈总结了,这里就借鉴一下:

http://www.bubuko.com/infodetail-425274.html

说明两点,

一,在天朝当程序员,还是应该有翻墙的技术,本人推荐一个,也是我一直使用的

http://heikeji.me/Home/User/register/cd/VFVbUQ%3D%3D.html

二,执行 sudo gem install cocoapods 时会报错:

While executing gem … (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj

换用sudo gem install -n /usr/local/bin cocoapods 就可以了

补充:在安装完cocoapods之后,创建了Podfile文件,执行pod install的时候报错:

*――― TEMPLATE END――――――

[!] Oh no, an error occurred.

Search for existing GitHub issues similar to yours:

https://github.com/CocoaPods/CocoaPods/search?q=Illformed+requirement+%60%22%7E+%3E+2.3.1%22%60&type=Issues

If none exists, create a ticket, with the template displayed above, on:

https://github.com/CocoaPods/CocoaPods/issues/new

Be sure to first read the contributing guide for details on how to properly submit a ticket:

https://github.com/CocoaPods/CocoaPods/blob/master/CONTRIBUTING.md

Don’t forget to anonymize any private data!*

在stackoverflow上面搜索了好久,有以下两种方案:

cd ~/.cocoapods/repos

rm -rf master

pod setup

~~~~~~~~~~~~~~~~~

sudo gem uninstall cocoapods

sudo gem install cocoapods

pod setup

按照上述两种方法解决,可是依旧没有解决我的问题,经过重新审视,我发现一个重要的问题,就是编辑podfile的时候,我把版本写成

pod ‘AFNetworking’, ‘~> 2.0’

执行pod search AFNetworking 看到的信息是

pod ‘AFNetworking’, ‘~> 3.0.0-beta.1’,

所以果断重新编辑podfile,然后再执行pod install就成功了。

补充二:

错误1.

[!] The
Paopao [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.

这种警告是不能忽视的,它带来的直接后果就是无法通过编译。

而产生此警告的原因是项目 Target 中的一些设置,CocoaPods 也做了默认的设置,如果两个设置结果不一致,就会造成问题。

我想要使用 CocoaPods 中的设置,分别在我的项目中定义
PODS_ROOT
Other Linker Flags
的地方,把他们的值用
$(inherited)
替换掉,进入终端,执行

pod update

警告没了,回到 Xcode,build通过。

网上还流行另外一种简单粗暴的方法

点击项目文件 project.xcodeproj,右键
显示包内容
,用文本编辑器打开
project.pbxproj
,删除
OTHER_LDFLAGS
的地方,保存,回到 Xcode,编译通过。

错误2.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  cocoapods