synx的使用及出现的问题

  • 前言

在我们接手一个新的项目有的时候会发现这样糟糕的情况:

可以看到,项目中的结构实在是惨不忍睹。有的时候即便是自己的项目,一不小心也会变得一团糟,因为我们在xcode中创建文件夹的时候并不会真的在我们的工程中创建一个真实的文件夹,而是只在我们xcode目录中显示的层次关系,那么怎样解决问题呢?方法有三:

1、我们需要创建新的文件夹的时候直接在finder中创建,然后修改好名字之后直接拖放到xcode中;

2、安装一个插件叫FKRealGroupde 插件,插件的用法很简单,在github上一搜就出来了,还是很方便的;

3、这种情况主要解决的就是我们的项目已经几近完成,文件夹什么的都已经建好了,但是打开工程后一下就傻眼了,才发现原来自己的代码也可以这么乱,这个时候就要用到强大的synx了,它可以帮助我们在工程中创建xcode中目录层次中存在而实际在工程中却不存在的文件夹,实在是方便,接下来就介绍一下synx的用法。

  • 安装

打开终端,输入:

$ gem install synx

进行安装,如果权限不够的话使用下面的方式:

$ sudo gem install synx
  • 使用
$ synx path/to/my/project.xcodeproj   //synx后面空格,然后紧接着跟的就是你的项目的.xcodeproj文件的地址,最简单的方法就是在终端中输入synx(记得空格),打开项目,找到xxx.xcodeproj,直接拖拽到终端就可以了

这样终端就会出现一堆东西在源源不断的进行了,等完成,文件夹也就完成了。synx的更多用法可以参考官网:https://github.com/venmo/synx

  • issue

这样使用之后编译一下,一般情况下会报一堆错误的,问题在哪呢?主要是一些静态库的问题,比如出现-lxxx.a 或者-lxxx.framework的错误等等,这个时候我们要做的就是在build phases的LinkBinary 中找到这个库,移除出工程,然后重新添加,这样做针对大部分静态库是有效的,但是对于支付宝的SDK,我这样做后并没有发现什么效果(在build setting里面把也要把header searchPath重新设置一下,这样就不会把rsa的错误了),捣鼓了半天,我是这样解决的:在执行synx同步前把支付宝的SDK移除工程,等synx执行完毕后再把SDK拉进来,然后重新设置一下header searchPath,这样就好了,问题很奇怪,网上搜了很多也都木有解决,自己误打误撞,它倒是好了。

  • end
posted @ 2016-04-06 18:18  _hungryBoy  Views(386)  Comments(0Edit  收藏  举报