当前位置: 首页 > news >正文

临沭有做网站的吗网站交易

临沭有做网站的吗,网站交易,学勇建站,网站平台建设实训日志番外:想要查看如何创建.a静态库可前往看我iOS之如何创建.a静态库-CSDN博客这篇文章。 一、创建framework项目 创建framework工程要选择iOS --> Cocoa Touch Framework输入项目名称PrintFramework也是编译生成的framework的名称。framework的名称也可以以后在项目…

番外:想要查看如何创建.a静态库可前往看我iOS之如何创建.a静态库-CSDN博客这篇文章。

一、创建framework项目

  1. 创建framework工程要选择iOS --> Cocoa Touch Framework
  2. 输入项目名称PrintFramework也是编译生成的framework的名称。
  3. framework的名称也可以以后在项目中更改
  4. 将需要打包成framework静态库的文件资源等拖拽进该项目。

二、配置framework

1. Build Settings 配置
  1. Product Name: 最终编译出来的Framework文件的名称
  2. Mach_O Type: 选中static Library(静态库)
  3. Architectures :支持的CPU指令集
  4. Build Active Architecture Only: 设置为NO
  5. Base SDK: 选择iOS
  6. iOS Deployment target:framework支持的最低iOS版本
2. Build Phases 配置
  1. Link Binary With Libraries中添加项目的依赖库
  2. Compile Sources:framework 中包含的实现代码
  3. Copy Bundle Resources:项目中使用到的资源文件,图片,XIB文件,plist文件等 (建议将资源文件放到新建的Bundle中,下面会介绍Bundle的创建和使用)
  4. headers:将需要暴露出来的头文件添加到public分组下,需要隐藏的头文件添加到project分组下

三、创建Bundle

如果项目中用到了图片、Xib等资源时需要创建一个Bundle:File - New - Target - macOS - Bundle。

温馨提示
在创建Bundle时的名称不能和framework的名称一样,一样会导致失败。 

配置Bundle

  • 选中BundleTarget,Product Name - 修改Bundle名称,博主这里叫PrintFramework

  • Base SDK:修改为iOS
  • Supported Platforms:修改为iOS
  • Enable Bitcode:设置为NO
  • COMBILE_HIDPI_IMAGES:设置为NO。(避免Bundle中的图片变成tiff格式而无法使用)

将创建好的Bundle添加到framework项目的依赖中去。 

五、使用Bundle

在framework中使用bundle中的资源不能直接通过资源的名称来获取。

[UIImage imageNamed:@"logo.png"];

这种方法获取不到logo.png图片。
正确的方式是:先获取到bundle的路径,然后再将资源文件的路径拼接到bundle路径后面才能获取到资源。如下

NSString *bundlePath = [[NSBundle mainBundle] pathForResource:@"PrintFramework.bundle" ofType:@"bundle"];
NSString *imagePath = [bundlePath stringByAppendingString:@"/logo.png"];
UIImage *image = [UIImage imageNamed:imagePath];

六、编译项目

编译生成framework静态库之前先将framework对应的scheme中的run 的值改成 Release

编译真机项目
  1. 在设备列表中选中Generic Device
  2. 使用快捷键 CMD + B 编译项目
编译模拟器项目
  1. 在设备列表中选择一个模拟器
  2. 使用快捷键 CMD + B 编译项目

之后会看到在products 分组下的PrintFramework.framework变成黑色。
选中PrintFramework.framework右键,选择Open In Finder 可以看到编译好的两个bundle文件。

七、合成模拟器和真机通用的framework静态库

之前编译生成的两个静态库分别支持模拟器和真机的使用。但是在实际开发中需要即支持模拟器又支持真机使用的静态库怎么办?这个问题当然可以解决,那就是将两个静态库合并生成一个通用的静态库。可以在mac终端中使用下面的命令合成

lipo -create path1/PrintFramework.bundle/PrintFramework path2/PrintFramework.bundle/PrintFramework -output path3/PrintFramework

path1和path2分别是模拟器和真机的静态库的路径。path3是合成之后的文件的存放路径。

八、framework 的使用

  1. 将framework拖入到要使用framework的工程,并在项目的Build Phases 的 Link Binary Resources中添加framework。

  2. framework使用到的Bundle要添加到工程的Copy Bundle Resources中。不然项目是找不到Bundle中的资源文件的,那么Bundle也就无法正常使用资源文件。

  3. 如果framework中使用到了Category 那么在使用framework的工程中要设置 Build Settings中的Other Link Flag 为 -ObjC或者-all_load

  4. 如果framework有使用系统库,那么也要在使用framework的工程中将这些系统库添加到工程中。不然会报编译错误

http://www.ds6.com.cn/news/64671.html

相关文章:

  • 网站专题制作流程百度联盟官网
  • 中国造价信息网官网成都seo工程师
  • 网站维护的主要内容安卓优化大师下载
  • 北京做胃镜哪好德胜门网站I荥阳网络推广公司
  • 软件产品如何做网站推广广东省广州市佛山市
  • 网站上传大马后怎么做seo关键词排名优
  • 企业网站的规划与建设ppt营销型网站建设服务
  • 建设网站设计重庆高端网站seo
  • 安徽省建设工程信息网官方网站培训
  • 改变网站的域名空间app001推广平台
  • php做的网站怎么打开关键词seo是什么
  • 手机网站开发按返回弹出提示窗口长沙网络推广外包
  • 南宁营销型网站专家seo发帖软件
  • 进入城乡建设网站怎么竣工备案谷歌搜索入口
  • 嘉兴注册公司新网站seo外包
  • 做网站需要服务器还是主机江苏seo哪家好
  • 西安网站创建自己如何做链接推广
  • 石家庄网络工作室网站建设广州百度seo 网站推广
  • 网站建设推广运营百度seo软件首选帝搜软件
  • 建设的网站属于固定资产么厦门关键词seo排名网站
  • 个人业务网站建设市场营销模式有哪些
  • 柳市做网站建设互联网推广公司靠谱吗
  • java做网站开发成本高免费b站推广
  • 版面设计网站北京网站优化
  • 邢台做移动网站哪儿好百度推广账户登录首页
  • 茂名网站开发深圳关键词排名seo
  • 建一个电商网站要多少钱软文广告素材
  • 地税网站建设管理今日时事新闻
  • 网购网站开发项目爱站权重
  • 找工程承包安卓优化大师官网下载