Fork me on GitHub

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

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

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

1
$ carthage build --no-skip-current

carthage build

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

framework

将Framework上传至Github

1.新建仓库

new repository

2.初始化仓库

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

1
2
3
4
5
6
$ 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

1
2
3
4
$ touch .gitignore #这句话只是创建了gitignore文件,记得要打开添加内容
$ git add .gitignore
$ git commit -m "add gitignore"
$ git push

4.添加工程文件

1
2
3
$ git add .
$ git commit -m "add StringExtension"
$ git push

5.添加版本标记

1
2
$ git tag 1.0.0
$ git push --tags

到这里我们自己创建的framework已经上传到github上了。

调用我们创建的Framework

1.用Xcode创建新项目

创建项目,cd到工程目录

2.创建一个空的carthage文件

1
$ touch Cartfile

3.编辑Cartfile文件

编辑Cartfile文件,输入如下内容

1
github "Geselle-Joy/StringExtension"

版本含义

1
2
3
4
5
~> 3.0 表示使用版本3.0以上但是低于4.0的最新版本,如3.5, 3.9
== 3.0 表示使用3.0版本
>= 3.0 表示使用3.0或更高的版本

如果你没有指明版本号,则会自动使用最新的版本

4.保存并关闭Cartfile文件,在终端执行命令

1
$ carthage update --platform iOS

安装过程如下

1
2
3
4
5
$ 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

-------------本文结束感谢您的阅读-------------

本文作者:乔羽 / FightingJoey

发布时间:2018年11月01日 - 14:03

最后更新:2018年11月01日 - 17:02

原始链接:https://fightingjoey.github.io/2018/11/01/开发/使用Carthage发布自己创建的Framework并使用/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

坚持原创技术分享,您的支持将鼓励我继续创作!