关于项目不能用CocoaPods解决方案
- 主页:Carthage
- 目标:Carthage旨在使用最简单的方式来管理Cocoa等第三方框架。
- 原理:自动将第三方框架编译为动态库(Dynamic framework)。
- 优点:Carthage为用户管理第三方框架和依赖,但不会自动修改项目文件或构建设置,开发者可以完全控制项目结构和设置 ,Carthage则更灵活且对项目没有侵入性。。
注意点: Carthage是使用最新版本swift编写,如果Xcode版本过低,要升级为最新版本
其它依赖库oc库可以直接拖到项目中 Socket.IO-Client-Swift 是swift库,需使用Carthage导入
1、安装Homebrew,在终端运行:
- /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- 脚本会在执行前暂停,并说明要二次确认回车键继续安装,这条指令运行结束后,Homebrew就安装完成了
2、安装Carthage,在终端运行:
- brew update,等待运行结束后,
- 接着运行:
- brew install carthage,
- 这样Carthage就安装完成了。
3、Carthage的使用
1、新建一个iOS工程
2、使用Carthage安装Socket.IO-Client-Swift库
- 3、先进入到项目所在的文件夹 $ cd ~/Path/CartHageDemo
4、创建一个空的Cartfile文件(两种方式)
- (1)使用终端创建: touch Cartfile
- (2)使用文本文件创建: 创建一个名为Cartfile的文件,并保存到项目目录下
5、编辑Cartfile文件
- github "socketio/socket.io-client-swift" ~> 15.1.0
6、保存并关闭Cartfile文件,使用Carthage安装框架 carthage update
到此为止,socketio/socket.io-client-swift 就已经安装到项目中了
配置项目
- 1、打开项目,点击Target -> General -> Link Library with Libraries选择Carthage/Build目录中导入的framework
2、添加编译脚本 点击Target -> Build Phases -> “+” -> New Run Script Phase
3、 展开Run Script,
1、在shell下面输入:
- /usr/local/bin/Carthage copy-frameworks
2、在Input Files中加入:
- $(SRCROOT)/Carthage/Build/iOS/SocketIO.framework
- $(SRCROOT)/Carthage/Build/iOS/Starscream.framework
3、在Output Files中加入
- $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SocketIO.framework
- $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Starscream.framework