iOSiOS点点滴滴iOS开发

使用 synx 同步 iOS 工程目录与 Finder 目录

2015-10-30  本文已影响4103人  Vinc

目录

环境

前言

1、使用 Gem 安装 synx

2、直接在终端 Terminal 中开始使用

3、在使用的时候还可以加参数来实现不同的功能

4、解决项目中出现的一些 error


环境

OS X 10.11.1
Xcode 7.1
日期:2015/10/30


前言

最近公司项目要从 SVN 转到 Git,由于公司项目原先是由外包在2个月内赶工出来的,所以很多地方都不符合规范,就比如这次的重点——目录规范,外包的哥们的项目目录结构还算清晰,但在 Finder 中的目录结构就惨不忍睹了。
这次的主角是 GitHub 上的 synx,我们先通过作者的 Readme 上的截图来简单看一下效果。

Xcode 上的工程目录
使用 synx 处理前后的 Finder 目录

言归正传,我们来看一下如何使用 synx

一、使用 Gem 安装 synx

Gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem(如 http://rubygems.org/ )源来查找、安装、升级和卸载软件包

// 1.移除掉原有的源(服务器在国外,速度较慢)
$ gem sources --remove https://rubygems.org/
// 2.等有反应之后再敲入以下命令(添加国内的源,原先是 http://ruby.taobao.org/ ,现在淘宝上的ruby镜像换成https了)
$ gem sources -a https://ruby.taobao.org/
// 3.验证是否替换成功
$ gem sources -l  
// 4.直接通过命令行开始安装:
$ gem install synx
     如果你权限不够的话需要sudo:
$ sudo gem install synx
更换 Gem 的源为国内源.png

二、直接在终端 Terminal 中开始使用

$ synx path/to/my/project.xcodeproj  

这里的路径path/to/my/project.xcodeproj可以整个换成你自己的路径,比如/Users/Yuen/Desktop/SynxDemo/SynxDemo.xcodeproj,即

$ synx /Users/Yuen/Desktop/SynxDemo/SynxDemo.xcodeproj    

需要注意的是如果你使用了cocoapods,可能会有所不同,你可以 Google 一下看看


三、在使用的时候还可以加参数来实现不同的功能

1、 加上-p可以在同步的时候删除工程中没有使用到的图片资源和文件。
    & synx -p path/to/my/project.xcodeproj
2、 -e可以在同步的时候忽略当前文件夹进行同步
    & synx -e "/folder/" path/to/my/project.xcodeproj  
3、 还有一些指令
  --prune, -p                   remove source files and image resources that are not referenced by the the Xcode project
  --no-color                    removes all color from the output
  --no-default-exclusions       doesn't use the default exclusions of /Libraries, /Frameworks, and /Products
  --quiet, -q                   silence all output
  --exclusion, -e EXCLUSION     ignore an Xcode group while syncing

4、解决项目中出现的一些 error

1、 各种library not found for XXXXXX
    由于是我们在项目中使用了一些第三方的库,就比如我再使用百度的静态库文件的时候,报出的这个错误。
    当xcode在编译的时候却找不到这个库,从而导致如此。
    所以我们要让xcode知道这个库文件在哪里,从而在编译的时候轻松的找到它。
    
    解决办法:
    获取 库文件所在的那个文件夹 路径,添加到 Target 的 Build Settings 的 Library Search Paths   
如图
    还有一个简单方法,就是在工程里先把这些 SDK 都移除了,重新添加一遍之后,就会发现这些路径已经自动添加到 Library Search Paths 了  
2、 支付宝 SDK 出现的一系列问题,我是参考这篇帖子来解决的

上一篇 下一篇

猜你喜欢

热点阅读