由于使用Xcode自带的svn管理碰到很多问题,搞得头昏脑胀,找资料时看到小码哥这方面的视频,看完就开始折腾了。

准备:1、远程仓库地址及授权账号(用户名和密码)

2、一份项目代码,之所以要有这份代码,是因为远程仓库里没有这份代码,必须提交一份到远程仓库

开始:1、打开命令行,先检查本机svn安装情况

2、有svn ,打开~.subversion/config文件,修改文件,要求过滤掉Pods和Podfile.lock;搜 svn ignores;

3、import 这份代码 to 远程仓库,根据提示依次输入本机密码,服务器端给你账号密码,用浏览器打开远程仓库,看代码是否上次成功;

4、从远程仓库check out代码到本地,定位到check out下来的项目代码目录,使用 pod install 编译Podfile文件,命令行提示完成后,发现缺少Podfile.lock文件,编译这份代码,果然报了几个错误,怀疑是不是cocoaspod出错了,不生成Podfile.lock文件,我甚至怀疑 后缀名.xcworkspace文件都不是pod生成的,而是从远程仓库check out下来的那个文件;

5、验证猜想,新建一个项目,往里加入Pod file文件,编译,发现果然猜想是对的,pod出问题了;

6、pod --version查看pod版本号,提示这个命令有问题,又去pod官网看最新的版本号和本机安装的版本差多少,又去搜“pod 无法生成.xcworkspace”,看到有人碰到和我类似的问题,里面建议重新安装pod,但又涉及到ruby版本,查看ruby,又涉及到gem,ruby和gem相关的东西,安装位置,使用的版本,用gem安装的包等等,本来想查看使用gem安装的包的情况,想找到它们所在的目录,实在没找到,放弃了,咬牙重新安装pod,要是出问题了大不了重来

7、重新pod install 那份check out下来的代码,这下生成了Podfile.lock文件,打开项目重新编译,发现只有一个问题,“ld:library not found for -lCocoaLumberjack”,显示找不到这个库,搜这个问题,一顿排查出错的可能地方,没找到原因;又去Pods目录下找,发现果然没有这个库,又去原始代码下面找,却有这个库,比对两处的Podfile文件,内容一致,怀疑又是pod的版本不同引起的问题,又去前面的测试项目里进行测试,一样的Podfile文件编译后的结果怎么样,结果证明,在新版本的pod编译下,都缺少那个库,原始项目里使用的是老版本的pod生成的目录下有这个库,怀疑Podfile里某个库隐式调用了那个缺失的库,老版本的pod就就把它download下来了,而新版本pod没有这样做,那只好修改Podfile文件,添加那个缺失的库,让pod知道要下载那个库,重新build项目,完美通过build,总算可以舒口气了。

更新于2017-05-17

参考资料:

1、xcode 7中把本地代码上传到远程svn服务器上

2、XCode8 基于HTTP协议的SVN集成 亲测可用

链接:https://www.jianshu.com/p/c82f1340cf86

最新文章

  1. Android学习第三天-签名常用命令
  2. convert与int.parse int
  3. LeetCode——Single Number(找出数组中只出现一次的数)
  4. redis 一二事 - 设置过期时间,以文件夹形式展示key显示缓存数据
  5. JavaService应用中的注意事项
  6. spring(三)----大概是最简单的面向切面了
  7. jQuery提交Json数据到Webservice,并接收返回的Json数据
  8. Winfrom 表格单元格格式化事件(DataGridView - CellFormatting)
  9. sqlserver日志文件过大的处理方法
  10. CyclicBarrier和CountDownLatch介绍
  11. vs2012,打开早期版本窗体错误
  12. js中浅拷贝和深拷贝以及深拷贝的实现
  13. Qt creator使用笔记
  14. JavaScript是如何工作: 深入探索WebSocket和HTTP/2与SSE + 如何选择正确的路径!
  15. git checkout --theirs(ours)
  16. Inno Setup 系列之安装、卸载前检测进程运行情况并关闭相应进程
  17. 符合seo的html标签优化
  18. bzoj千题计划184:bzoj1261: [SCOI2006]zh_tree
  19. 并发基础(八) java线程的中断机制
  20. linux环境变量设置 以及 source命令 Linux 之 /etc/profile、~/.bash_profile 等几个文件的执行过程 Linux 设置环境变量

热门文章

  1. 【AHOI 2005】 约数研究
  2. Java-Runoob-高级教程-实例-字符串:07. Java 实例 - 字符串分割
  3. 869C
  4. bzoj1513
  5. Java SE 开篇
  6. Spark MLlib机器学习
  7. 题解报告:hdu 1541 Stars(经典BIT)
  8. Mac OS X:在标题栏上显示目录完整路径
  9. 如何使用mysqldump命令导入导出数据库下的数据或表结构(远程or本地都适合)
  10. sdut2355Binary Search Heap Construction