热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

可能会_DTCoreText的集成

篇首语:本文由编程笔记#小编为大家整理,主要介绍了DTCoreText的集成相关的知识,希望对你有一定的参考价值。DTCoreT

篇首语:本文由编程笔记#小编为大家整理,主要介绍了DTCoreText的集成相关的知识,希望对你有一定的参考价值。



DTCoreText的集成

字数715 
阅读253 
评论8 



      由于项目中要处理富文本,加载html字符串,所以就选择了DTCoreText这个第三方库。这个框架很坑爹啊,以往的第三方库直接Download,拖入自己的项目中就能用,这个库却不行,下载下来缺少文件,运行不了,只能按照官方提供的导入方式:点击我。


      从这个文档可以看出,官方提供了三种安装方式:


     1、使用cocoapods


     2、作为一个子项目(sub-project)


      3、作为一个Framework


      在这里我介绍下第三种安装方式,即作为Framework来使用。


一 、下载源代码




在终端使用以下命令将DTCoreText项目下载到自己的电脑上


git clone --recursive https://github.com/Cocoanetics/DTCoreText.git Externals/DTCoreText


二、编译Framework




打开下载好的项目,确定这个项目能正常运行,然后调为Release模式:







由于下载下来的项目开发环境是8.0,就是说你最终得到的framework仅支持8.0及以上的项目。由于我的项目最低支持7.0,所以要调下









选择DTCoreText(ios )这个选项,分别选择真机和模拟器进行编译,如图:












完成后,Xcode中的File -> Project Settings,会出现这样







点击DerivedData后面的小箭头,进入到编译后产生的文件夹中,即:







Release-iphoneos文件夹,和Release-iphonesimulator文件夹,分别是真机和模拟器编译后对应的文件,每个文件夹下有四个文件


三 、 合并Framework


     模拟器的framework只能用于模拟器,真机的framework只能用于真机,所以我们要将两者合并为一个,使其能够在模拟器和真机上同时使用。


    将Release-iphoneos和Release-iphonesimulator文件夹拷贝到桌面上,分别合并DTCoreText.framework、DTFoundation.framework。打开终端,分别输入后回车












如果操作成功,在你的桌面上会出现两个这样的文件:







然后把这两个文件分别替换掉Release-iphoneos文件夹中DTCoreText.framework下的DTCoreText文件,和DTFoundation.framework下的DTFoundation文件。这时候,Release-iphoneos文件夹中的DTCoreText.framework和DTFoundation.framework正是我们所需要的framework。不容易啊,终于成功了,将这两个framework拷贝到桌面上。







四 、将framework集成到自己的项目中


       新建一个自己的工程,将这两个framework拖入到工程中,导入头文件#import,输入测试代码:







这时候你运行,程序可能会崩溃:


dyld: Library not loaded: @rpath/DTCoreText.framework/DTCoreText


Referenced from: /Users/lemon4ex/Library/Developer/CoreSimulator/Devices/71B50DE8-D733-43C8-A99D-4DE1247C3516/data/Containers/Bundle/Application/4783EEC4-CEBD-4FD9-872A-9CF606472853/xfish.app/xfish


Reason: image not found


不要急,这时候你需要在Xcode中设置一下:







OK,再次运行程序,大功告成!!!


Demo地址请至Github:点击我


推荐阅读
  • 本文由编程笔记#小编为大家整理,主要介绍了markdown[软件代理设置]相关的知识,希望对你有一定的参考价值。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • 解决Cydia数据库错误:could not open file /var/lib/dpkg/status 的方法
    本文介绍了解决iOS系统中Cydia数据库错误的方法。通过使用苹果电脑上的Impactor工具和NewTerm软件,以及ifunbox工具和终端命令,可以解决该问题。具体步骤包括下载所需工具、连接手机到电脑、安装NewTerm、下载ifunbox并注册Dropbox账号、下载并解压lib.zip文件、将lib文件夹拖入Books文件夹中,并将lib文件夹拷贝到/var/目录下。以上方法适用于已经越狱且出现Cydia数据库错误的iPhone手机。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • 大坑|左上角_pycharm连接服务器同步写代码(图文详细过程)
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了pycharm连接服务器同步写代码(图文详细过程)相关的知识,希望对你有一定的参考价值。pycharm连接服务 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
  • 本文介绍了在多平台下进行条件编译的必要性,以及具体的实现方法。通过示例代码展示了如何使用条件编译来实现不同平台的功能。最后总结了只要接口相同,不同平台下的编译运行结果也会相同。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
author-avatar
泡乙唐
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有