Xcode 9.4.1
创建Framework
1.新建工程
打开Xcode,command+n新建工程,选择Cocoa Touch Framework,点击next,命名为StringExtension。
2.创建文件
StringExtension.swift是不准备暴露出去的,Test.swift是准备暴露出去给外界调用的。
需要暴露出来给外界调用的类或方法必须要加上关键字public。
3.将Scheme设置为shared
4.使用Carthage构建Framework
终端进入工程目录下,执行下面代码
$ carthage build --no-skip-current
执行完成以后会发现,目录下多了一个Carthage文件夹,我们的Framework就在该文件夹里面。
将Framework上传至Github
1.新建仓库
2.初始化仓库
终端进入工程目录下,执行下面代码
$ echo "# StringExtension" >> README.md
$ git init
$ git add README.md
$ git commit -m "first commit"
$ git remote add origin https://github.com/Geselle-Joy/StringExtension.git
$ git push -u origin master
3.添加gitignore
$ touch .gitignore #这句话只是创建了gitignore文件,记得要打开添加内容
$ git add .gitignore
$ git commit -m "add gitignore"
$ git push
4.添加工程文件
$ git add .
$ git commit -m "add StringExtension"
$ git push
5.添加版本标记
$ git tag 1.0.0
$ git push --tags
到这里我们自己创建的framework已经上传到github上了。
调用我们创建的Framework
1.用Xcode创建新项目
创建项目,cd到工程目录
2.创建一个空的carthage文件
$ touch Cartfile
3.编辑Cartfile文件
编辑Cartfile文件,输入如下内容
github "Geselle-Joy/StringExtension"
版本含义
~> 3.0 表示使用版本3.0以上但是低于4.0的最新版本,如3.5, 3.9
== 3.0 表示使用3.0版本
>= 3.0 表示使用3.0或更高的版本
如果你没有指明版本号,则会自动使用最新的版本
4.保存并关闭Cartfile文件,在终端执行命令
$ carthage update --platform iOS
安装过程如下
$ testss carthage update --platform iOS
*** Cloning StringExtension
*** Checking out StringExtension at "1.0.0"
*** xcodebuild output can be found in /var/folders/8w/s8bn_8c56p9czz75nqdqmp2m0000gn/T/carthage-xcodebuild.ecw6rz.log
*** Building scheme "StringExtension" in StringExtension.xcodeproj
carthage会为你下载和编译所需要的第三方库,当命令执行完毕,在你的项目文件夹中会出现一个名为Carthage的文件夹和Cartfile.resolved的文件。
在~/Carthage/Build/iOS文件夹里就可以看到我们自己创建的StringExtension.framework了。
5.导入framework
打开你的项目,选择target, 再选择上方的General,将需要的framework文件拖到 Linked frameworks and Binaries内。