`

iOS framework 制作教程,这次不是静态包!!!

    博客分类:
  • ios
 
阅读更多

我们使用一种变通的方法来制作 iOS framework,废话不多说,上步骤:

1.打开Xcode创建一个“Cocoa Touch Static Library”工程,并删除现有的target.

2.右键project选择添加New Target,在弹出的窗口中找到Cocoa ,在Cocoa右侧窗口中选择“Loadable Bundle”。
注意:到这步的时候不要选择framework,应为framework是MAC OS上的,iOS是不支持的,但是iOS 支持“Loadable Bundle(cfbundle)”

3.target 上右键get Info 在Build  Settings下面设置下面的5项内容:
a.搜索Wrapper Extension,把默认的bundle改成framework.
b.修改Mach-O Type 为Relocatable Object File.
c.关闭Dead Code Stripping ,把勾去掉!
d.关闭Link With Standard Libraries.
e.移除所有关于“AppKit”  和  “Foundation”的参考,删除“Other Linker Flags”的所有值,并删除“GCC_PREFIX_HEADER“的值!

4.在frameworks Info.plist文件中将Bundle OS Type code的值BNDL改为:FMWK,并且在target的 get info窗口中的Properties标签栏下也将Type改为FMWK。


5.在工程中添加你的代码
例如:我们添加一个类
#import <Foundation/Foundation.h>

@interface Help : NSObject {

}

- (void)show;

@end

#import "Help.h"


@implementation Help

- (void)show
{
    NSLog(@"framework!!!");
}

@end


6.在target上右键Add---New Build Phase---New Copy Headers Build Phase,此时target下面会多出一个灰色的文件夹—Copy Headers。

7.然后将我们刚才添加的Help类的.h文件从上面拖到下面的Copy Headers中,再在该文件夹上右键—Set Role---Public.

8.从上面将所有要打进framework的.m文件拖到target下的Compile Sources文件夹里。

9.编译,如果出错,那就在  Build下面的 将“Other Linker Flags “设置为 –ObjC 、-all_load、-lxml2,不要写在一起,请一项项添加。

注意:如果编译出现大量的错误,说明你没有删除“AppKit”  和  “Foundation”的参考,

编译后参考:



在build/Debug-iphonesimulator下面出现一个framework文件夹:

  


使用我们刚才制作的framework

在新的工程中导入framework


我们把刚才制作的kibernet.framework拷贝到新的工程的目录下,选择kibernet.framework文件夹

添加后的效果图



使用framework中的类:
导入头文件



ViewDid Load中测试一下:

    
输出结果:

 

分享到:
评论

相关推荐

    IOS应用源码Demo-iOS framework 制作教程【非静态包】-毕设学习.zip

    【iOS应用源码Demo-iOS framework 制作教程】是一个针对iOS开发者的资源包,旨在帮助他们学习如何创建自定义的非静态Framework。这个压缩包包含了一份完整的源代码示例,是两年前的项目,适用于那些正在进行毕业设计...

    【应用】★★★★-iOS framework 制作教程【非静态包】.zipIOS应用例子源码下载

    【应用】★★★★-iOS framework 制作教程【非静态包】.zipIOS应用例子源码下载【应用】★★★★-iOS framework 制作教程【非静态包】.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人学习研究参考 3....

    IOS应用源码之【应用】iOS framework 制作教程【非静态包】.rar

    本教程将详细讲解如何制作非静态的iOS Framework,这是一种动态链接库,允许在运行时加载代码,提高了应用的灵活性。 一、iOS Framework类型 iOS Framework主要有两种类型:静态库(Static Library)和动态库...

    IOS应用源码之【应用】-iOS framework 制作教程【非静态包】.rar

    本教程将重点讲解如何制作一个非静态的iOS框架,这涉及到动态库的创建,相比于静态库,动态库可以减少应用程序的大小,因为它们在运行时才被加载。以下是关于iOS框架制作的详细步骤和相关知识点: 1. **了解框架...

    iOS Framework制作打包教程

    iOS Framework制作和打包是iOS开发中的一个重要环节,它能够让你将重复使用的代码封装成一个模块化的组件,从而简化开发流程,提高开发效率。本文将详细介绍iOS Framework的创建和打包过程。 首先,我们需要理解...

    iOS制作framework静态库图文教程

    以下是制作iOS静态库Framework的步骤: 1. **创建Cocoa Touch Framework工程**: 打开Xcode,选择“File” -&gt; “New” -&gt; “Project”,在模板列表中选择“Cocoa Touch Framework”,然后点击“Next”,填写项目...

    IOS创建静态Framework模板

    IOS创建静态Framework模板,执行后会在xcode生成静态framework模板 因为动态framework的生成需要IOS8.0以上的系统才能支持,否则不能上架,所以在支持IOS7.0或者以下的代码的时候需要使用静态framework 1.确保...

    ios创建framework静态库demo

    在iOS开发中,创建一个Framework静态库是一种常见的方式,它可以帮助开发者封装常用代码,提高代码重用性,并保护知识产权。本篇文章将详细讲解如何通过一个简单的demo来创建一个iOS的静态库。 首先,理解框架...

    iOS制作FrameworkDemo

    "iOS制作FrameworkDemo"是一个关于如何构建和使用iOS Framework的示例项目。在这个压缩包中,包含了一个名为"SwitchChange"的文件,这可能是一个开关控件相关的类或者功能的实现。 首先,我们来了解一下`SDK...

    iOS静态库制作实例

    1. **创建静态库项目**:在Xcode中选择“File” &gt; “New” &gt; “Project”,然后选择“iOS” &gt; “Framework & Library” &gt; “Cocoa Touch Static Library”。给项目起个名字,比如"LibraryStudy",并选择合适的设备...

    iOS的framework动态库

    在iOS开发中,框架(Framework)是包含头文件、库文件和资源的打包结构,用于提供特定功能和服务。本文将深入探讨iOS中的动态库,即Dynamic Framework,它们是如何工作的,以及如何在项目中使用和创建。 动态库与...

    iOS开发SDK(framework、bundle、脚本打包)

    本篇文章将详细探讨iOS SDK中的关键组成部分,包括.framework静态库、.bundle资源文件以及脚本打包SDK和.bundle的相关知识。 首先,我们来看.framework静态库。.framework是iOS中的一种库文件格式,它包含了一个或...

    ios使用cmake编译framework

    本文将深入探讨如何使用CMake来构建iOS平台上的Framework。 首先,理解CMake的基本概念至关重要。CMake是一个开源的、跨平台的自动化构建系统,它不直接进行编译,而是生成特定平台的构建工具(如Xcode或Makefile)...

    WebRTC.framework iOS Debug arm64与x86-64架构

    iOS Debug环境 arm64与x86_64架构 WebRTC.framework Mach-O universal binary with 2 architectures: [x86_64:Mach-O 64-bit dynamically linked shared library x86_64] [arm64] Mach-O 64-bit dynamically linked ...

    IOS 静态库和Framework区别

    八、制作静态库注意事项: 1. 明确需求:理解.a和.framework的区别,根据实际需求选择合适的形式。 2. 资源处理:图片等资源通常放在.bundle文件中,便于管理和分发。 3. Category问题:静态库中的Category可能会...

    iOS 测试静态库

    在iOS开发中,静态库(Static Library)是一种预编译的代码集合,它包含了可重用的函数和类,可以在多个应用程序中使用而无需再次编译。本篇将深入探讨如何创建并测试iOS静态库。 首先,我们来理解静态库的基本概念...

    制作的framework(静态库文件)

    ios中我们写的代码有时不愿意让别人看到,可能对它进行封装,生成一个静态库如典型的.a,还有一种就是和苹果自带的库一样的后缀名为.framework的库,所以我自己生成的framework,里边有一些是我自己整理的方法,具体...

Global site tag (gtag.js) - Google Analytics