framework新建与使用

本文详细介绍如何在iOS开发中创建并使用自定义的Framework,包括配置Xcode工程、生成支持多架构的版本、整合仿真器与实机版本,以及在实际项目中引入并使用的全过程。

本文主要是根据自己的实践,对网上资料进行整理

参考文章:

1、http://www.jianshu.com/p/6c033c39884a

2、http://www.tuicool.com/articles/UZnEniu

3、http://blog.youkuaiyun.com/zzzzzdddddxxxxx/article/details/51149243

以下过程请根据实际情况进行修改

1、framework新建

我们将自己自定义的一个控件制作成framwork供别人使用为例,来展示framework的制作过程。

打开Xcode创建一个framework工程。



修改一些配置信息,生成支持所有架构的版本。



将之前写好的控件源文件拖进工程,并做一些配置,主要是配置一下那些文件要暴露给别人使用,一般头文件需要暴露,实现文件不需要。



最后一个设定步骤,是要加入一段Run Script,用来将「仿真器版本Framework」、「实机版本Framework」,整合输出为单一Framework。

参考数据

用lipo合并模拟器Framework与真机Framework - IOS开发学习博客

Run Script

if["${ACTION}"="build"]thenINSTALL_DIR=${SRCROOT}/Products/${PROJECT_NAME}.frameworkDEVICE_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphoneos/${PROJECT_NAME}.frameworkSIMULATOR_DIR=${BUILD_ROOT}/${CONFIGURATION}-iphonesimulator/${PROJECT_NAME}.frameworkif[-d"${INSTALL_DIR}"]thenrm -rf"${INSTALL_DIR}"fimkdir -p"${INSTALL_DIR}"cp -R"${DEVICE_DIR}/""${INSTALL_DIR}/"#ditto "${DEVICE_DIR}/Headers" "${INSTALL_DIR}/Headers"lipo -create"${DEVICE_DIR}/${PROJECT_NAME}""${SIMULATOR_DIR}/${PROJECT_NAME}"-output"${INSTALL_DIR}/${PROJECT_NAME}"#open "${DEVICE_DIR}"open"${SRCROOT}/Products"fi

Setting


完成设定步骤后,分别Build两个不同版本的Framework:仿真器版本、实机版本。接着,设定在建置作业中的Run Script,就会将两个版本的Framework,整合输出为单一的MyFramework.framework

仿真器版本 command+B


实机版本 command+B


经过上面2次编译,自动产出合并版本的MyFramework.framework  ,在终端打开该目录,通过 lipo -info MyFramework.framework/MyFramework  ,查看支持的版本信息。

使用

接着开启XCode来建立一个新项目:「MyAPP」,专案类型选择为Single View Application。这个项目用来说明,如何使用封装为Framework的程序代码。

专案类型


接着将Framework复制一份,放到MyAPP的专案文件夹内。XCode编译的时候,会去这个路径底下找寻Framework。其实放项目任意文件夹即可,可以通过add other加入或设置framework搜索路径。

Framework档案路径


回到XCode的项目属性页面,把Framework的参考加入到项目里。

加入参考


接着在项目预设的ViewController.m文件里面,加入下列程序来使用Framework里面所封装的程序代码。加入Framework参考#import <myframework/myframework.h>

到此基本结束。

后记:

XCode编译的时候,会去特定路径底下搜寻Framework来加入编译。如果需要增加或修改参考路径,可以透过调整Build Setting里的Framework Search Paths参数来变更。

Framework Search Paths


ios开发中报错处理--include of non-modular header inside XXXX

解决方案:在使用framework工程中设置

1.把target 下Build Settings 中Allow Non-modular includes in Framework Modules 选项卡设为yes。



### 关于 Visual Studio Framework使用教程 Visual Studio 是一款广泛使用的集成开发环境 (IDE),它不仅支持多种编程语言,还提供了丰富的框架和工具集用于软件开发。以下是对如何使用 Visual Studio 和其关联的 .NET Framework 进行开发的相关说明。 #### 1. **Visual Studio 支持的编程语言** Visual Studio 提供了一个统一的平台,允许开发者使用不同的编程语言进行项目开发,其中包括但不限于 C/C++、Python、C# 等[^1]。每种语言都有特定的功能模块和支持库,可以根据需求选择合适的语言进行应用构建。 #### 2. **关于 .NET Framework 的兼容性** 尽管 Visual Studio 2022 主要专注于现代化的应用程序开发(如基于 .NET 5/6/7 的跨平台解决方案),但它仍然可以处理旧版的 .NET Framework 应用程序。如果需要针对 .NET Framework 4.0 开发或维护现有代码,则可以通过 NuGet 包管理器下载并安装相应的运行时组件[^4]。 #### 3. **创建新的 .NET Framework 项目** 为了在 Visual Studio 中启动一个新的基于 .NET Framework 的项目,请遵循以下方法: - 打开 Visual Studio 并进入 “新建项目” 页面。 - 在模板列表中查找适合的目标框架选项,例如 Windows Forms App (.NET Framework) 或 Console Application (.NET Framework)[^1]。 ```csharp // 示例:简单的控制台应用程序入口点 using System; namespace MyFrameworkApp { class Program { static void Main(string[] args) { Console.WriteLine("这是一个基于.NET Framework的简单示例!"); } } } ``` #### 4. **引入外部依赖项** 当涉及到较早版本的 .NET Framework(比如 4.0)时,可能某些功能不再被默认包含。此时建议利用 NuGet 来获取额外的支持文件。具体操作如下: - 右键点击解决方案资源管理器中的项目名称 -> 选择“管理NuGet包”。 - 搜索目标框架对应的补丁或者更新,并完成安装过程。 #### 5. **调试部署注意事项** 对于传统的 .NET Framework 应用来说,在发布之前务必确认目标机器上已正确配置好所需版本的客户端运行时环境。此外,还可以考虑打包成独立可执行文件的形式简化分发流程[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值