美文网首页
Swift Framework-静态库

Swift Framework-静态库

作者: yingvhaihuman | 来源:发表于2023-04-06 11:13 被阅读0次

<创建Framework>


1.新建Framework.

打开Xcode->File->New->Project.

iOS-Framework

Product Name: MyViewSDK,Language: Swift.

2.设置参数.

一.设置版本号.

iOS Deployment Target 13.0

二.设置Architectures.

Build Settings -> Architectures -> Build Active Architecture Only设置为NO.(Framework支持所有设备设置)

Build Settings -> Architectures -> Excluded Architectures -> Release 设置为Any iOS Simulator SDK arm64.(排除模拟器的arm64文件,避免合并时与真机的arm64文件存在多个)

Architectures

三.设置Linking.

Build Settings -> Linking -> Mach-O Type 设置为 Static Library.(导出静态库设置)

Build Settings -> Linking -> Dead Code Stripping 设置为 NO.(Framework瘦身设置)

Linking

3.编辑代码.

我直接把一个UIView的extension拖进来了。注意:

<1.被用户调用的API一定要用public或以上的访问权限修饰;

<2.需要被OC工程调用的类型/API,需要加上@objc修饰.

@objc public func addTransitionColorLeftToRight {}

extension

4.导出framework步骤.

<1.导出Release版本.

Edit Scheme -> Run -> Build Configuration 设置为 Release.

Edit Scheme Build Configuration

<2.编译项目: command + B.

(1.选择模拟器运行.

(2.选择真机运行.

注释:查看编译成功与否:Product -> Show Build Folder in Finder -> Build -> Products.

Show Build Folder in Finder

模拟器编译成功有Release-iphonesimulator文件,

真机编译成功有Release-iphoneos文件.

Products

5.shell脚本合并framework文件.

<1.新建脚本项目.

TARGETS Other-Aggregate

Product Name: shell(随便起一个名).

Project: 默认是当前项目.

<2.在脚本项目中添加脚本.

新建的shell项目shell -> Build Phases,点击上面的+加号,选中New Run Script Phase.

New Run Script Phase

<3.输入脚本内容:

在新建的 Run Script 输入 path.

Run Script

合并framework静态库的脚本内容: 如下图(代码在下一篇文章).

shell

<4. 编译脚本: command + B.

选中shell项目,并且选择Build 的真机设备.

shell-Any iOS Device

合成后的framework文件就会写入到主工程目录下.

framework

<Swift工程 使用Framework>


1.新建工程(起名Test,不做演示).

<1.把framework(整个)拉进项目.

<2.把framework里的Headers文件再单独拉进项目.

framework + Headers

2.系统类扩展设置(因为添加了系统类UIView扩展:UIView+Color).

Build Setting -> Other Linker Flags设置为 -ObjC.

Other Linker Flags -ObjC

3.直接调用framework里的API代码.

import MyViewSDK

4.选择真机运行.

<Objective-C工程 使用Framework>


1.新建工程(起名OCTest,如以上Swift工程,不做演示).

分别把framework和Headers拖入工程.

2.嵌入Swift库设置

Build Settings -> Build Options -> Always Embed Swift Standard Libraries 设置为 YES.

Always Embed Swift Standard Libraries

3.调用framework里的API代码.

MyViewSDK-Swift.h Using

(...完毕)

相关文章

  • 使用Swift创建Swift模块 - 静态链接库

    使用Swift创建Swift模块 - 静态链接库 使用Swift创建Swift模块 - 静态链接库

  • swift ios 静态库的实现

    1.swift不支持.a的静态库,因此只能制作.framework的静态库 2.静态库的使用 3.纯swift静态...

  • iOS的Framework静态库

    静态库VS动态库 静态库不需要签名,动态库需要签名。 制作混编静态库 库内部Swift调用OC的头文件Swift调...

  • swift 开发SDK注意事项

    总结:1: swift开发sdk可以.a静态库,也可以使用.framework静态库2: 两种静态库中是不能放资源...

  • Framework 嵌套与依赖

    本文都是以 Swift 为基础做测试的. 静态库 嵌套 其他静态库 在你的项目中, 使用了一个静态库, 它里面嵌套...

  • iOS库的使用

    1, framework-动态库 YY的库 是 framework 库。mach-o类型是 Dyna...

  • Swift-如何使用静态库

    在用Swift做开发的时候需要接友盟推送,下载SDK之后发现是一个静态库,于是就捣鼓了一下Swift怎么用静态库。...

  • Podfile中的 use_frameworks

    什么是静态库、动态库、framework? use_frameworks!1、用cocoapods 导入swift...

  • OC 项目中使用cocopoads导入swift第三方库使用问题

    cocopoads 导入的oc 库默认是静态库.a 文件,而swift 第三方库是动态库 cocopoads 是不...

  • Framework

    一、静态库 1.swift 不支持静态库,只支持动态库,链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝...

网友评论

      本文标题:Swift Framework-静态库

      本文链接:https://www.haomeiwen.com/subject/mztyddtx.html