由于使用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

记录一次通过命令行方式来使用svn碰到的一系列问题的更多相关文章

  1. 在非SQL客户端使用命令行方式定期连接SQL Server 服务器并模拟用户查询操作,同时输出信息内容

    一个很长的标题,实现的功能就是尽量使用非人力的方式模拟人去做一件事情,为了便于记录,将他们输出成文件方便查阅. 图形界面方式,使用微软自己的ConnMaker.exe,或者Microsoft 数据连接 ...

  2. iOS:命令行方式使用OSChina托管私有代码

    一.介绍 在项目开发中,使用版本控制工具是必不可少的开发工具,它可以帮助我们程序员写完代码后及时提交备份,防止因个人操作导致代码被误删除了或者丢失了,安全可靠.同时,使用版本控制器工具也可以很方便的进 ...

  3. mysql命令行方式添加用户及设置权限

    以前总是喜欢通过phpmyadmin去添加用户和数据库,这次装完系统后,配置了一大堆东东,实在不想安装phpmyadmin了,就通过命令行方式创建了数据库和设置权限,记录一下,免得以后总是百度 关键步 ...

  4. Cocos2d-x项目编译为Android应用——命令行方式

    配置: 相关工具:Cocos2d-x 3.2 + Ant 1.9.4 + Android NDK r9d + Android SDK 运行平台:OS X 10.9.4+ Xcode 6 前言:笔者使用 ...

  5. 个人软件过程5 git命令行方式超简洁教程

    虽然许多IDE对git的支持不错,但用命令行方式,有助于对git本身的理解.这里对实际工作中,使用git的流程,以及与其相关的命令 小结一下,基本上,掌握这些命令,就能自如的在工作中使用. 1.git ...

  6. JAVA基础学习之命令行方式、配置环境变量、进制的基本转换、排序法、JAVA文档生成等(1)

    1.命令行方式 dos命令行,常见的命令: dir:列出当前目录下的文件以及文件夹 md:创建目录 rd:删除目录 cd:进入指定目录 cd..:退回到上一级目录 cd/:退回到根目录 del:删除文 ...

  7. Jmeter命令行方式启动

    在性能测试过程中,我们常常遇到这样的问题,使用Jmeter的GUI界面进行大并发量的性能测试时,界面容易卡死,无法继续进行性能测试.通过使用命令行方式启动jmeter是一个不错的方式.下面就简单介绍一 ...

  8. 批处理脚本命令行方式关闭Windows服务

    对于一些不常用的Windows Services,可以通过设置其启动类型为"禁用"而将其关闭.这种关闭方式是长期性的,电脑重启之后仍然起作用. 有时候希望在批处理脚本里通过命令行方 ...

  9. SoapUI命令行方式运行

    http://stackoverflow.com/questions/9220132/soapui-groovy-script-calls-to-command-line SoapUI支持用命令行方式 ...

随机推荐

  1. sql 指删除表,改表名,改字段名

    删除表: DECLARE @Table NVARCHAR(30) DECLARE tmpCur CURSOR FOR SELECT name FROM sys.objects WHERE TYPE=' ...

  2. SimpliciTI协议栈

    SimpliciTI组网过程介绍 1.SimpliciTI支持点对点和星形的网络拓扑结构.   下面介绍以AP为中心的SimpliciTI网路协议的星形拓扑结构通信过程 1)当ED节点上电之后就扫描信 ...

  3. Create

    BOOL Create(LPCTSTR lpszClassName,LPCTSTR lpszWindowName, DWORD dwStyle,const RECT& rect,CWnd* p ...

  4. ASP.NET Core MVC 打造一个简单的图书馆管理系统 (修正版)(五)外借/阅览图书信息的增删改查

    前言: 本系列文章主要为我之前所学知识的一次微小的实践,以我学校图书馆管理系统为雏形所作. 本系列文章主要参考资料: 微软文档:https://docs.microsoft.com/zh-cn/asp ...

  5. P4575 [CQOI2013]图的逆变换

    传送门 如果新的图里存在边\((u,v)\),那么说明原图中\(u\)的终点和\(v\)的起点是同一个点 于是可以对新图中的每个点维护它的起点和终点,如果有一条边就把对应两个应该相等的点用并查集连起来 ...

  6. 微信小程序中如何使用setData --- 修改数组对象、修改对象

    看代码吧~ 这是修改对象 this.setData({ allStageIndex: e.detail.value, [`projectDetailsData.stage`]: this.data.a ...

  7. 洛谷P2574 XOR的艺术(线段树)——Chemist

    当线段树遇上无敌位运算! 还是老套路,线段树维护区间和,一个区间有几个"1"就是这个区间的区间和,同时支持区间修改区间查询,只不过操作从加法变成了异或.主要难点就在更新懒标记那里, ...

  8. htm 与 html 的区别

    htm 与 html 的区别 前者是超文本标记(Hypertext Markup) 后者是超文本标记语言(Hypertext Markup Language) 可以说 htm = html 同时,这两 ...

  9. 解决 iphone5 4 inch 屏 app黑边问题

    你需要一张640*1138的预加载图(launch image).在工程>TARGETS 中添加,系统将自动将其重命名为Default-568h@2x.png.

  10. 找规律/贪心 Codeforces Round #310 (Div. 2) A. Case of the Zeros and Ones

    题目传送门 /* 找规律/贪心:ans = n - 01匹配的总数,水 */ #include <cstdio> #include <iostream> #include &l ...