使用Carthage发布自己创建的Framework并使用

1,103 阅读1分钟

Xcode 9.4.1

创建Framework

1.新建工程

打开Xcode,command+n新建工程,选择Cocoa Touch Framework,点击next,命名为StringExtension

新建Framework

2.创建文件

StringExtension.swift是不准备暴露出去的,Test.swift是准备暴露出去给外界调用的。

StringExtension

test

需要暴露出来给外界调用的类或方法必须要加上关键字public

3.将Scheme设置为shared

scheme

4.使用Carthage构建Framework

终端进入工程目录下,执行下面代码

$ carthage build --no-skip-current

carthage build

执行完成以后会发现,目录下多了一个Carthage文件夹,我们的Framework就在该文件夹里面。

framework

将Framework上传至Github

1.新建仓库

new repository

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

setup.png

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内。

import framework