开发过程中难免会遇到各种诡异的Bug。不知道大家有没有遇到这样的情况,在做一个社交类应用时,我们时常需要将我们手机上的照片上传到自己或者第三方的服务器上存储起来,当照片数据上传成功之后,我们再根据后台接口从服务器获取我们所上传的照片数据并在UI上显示出来(比如发表朋友圈和修改头像)。在经过这样一系列操作之后,我们神奇的发现,其中有一部分照片的方向变了,它们旋转了90°。
Xcode软件常用配置
俗话说,好记性不如烂笔头,特别在项目工期长的时候,写一个项目几个月,有些配置基本上配置一次就行了,长时间不使用,不管用的多熟,还真有忘记的可能。于是就花了一点时间整理一下,持续更新补充。
Xcode中用Workspace来管理多项目
项目开发过程中经常会有某些特定的需求或者常用的功能,需要我们单独去封装一些模块去实现。最简单的方式当然是直接在工程中新建工具类来实现,对于一些小模块小功能,我们可以这么做。但是对于一个相对大一点的功能模块,为了代码的简洁、性能、可读性、复用性和耦合性等等等,推荐把它们放到一个单独的工程里,通过静态库的方式,应用到任何其他需要的项目里,就像是用其他第三方SDK那样。
这样做的好处有很多,封装好的代码我们其他项目里照样可以使用,只要把我们封装好的静态库拖进去就可以了。不过问题也是存在的,首先,新建静态库本身就是一件很繁琐的事情,虽然程序员不怕折腾,但有时候这种繁琐并不能一劳永逸,反而成为累赘。当功能需要不断更新时,我们不可能在两个项目里跳来跳去。
对于需要不断更新的模块,可以使用Workspace来进行管理。其实本质上,Workspace也是编译静态库然后给主工程使用,但不用先打开工程A,编译出libA.framework,然后把文件拖到工程B,然后再在工程B里面使用。
废话说了这么多,下面进入正题。
iOS开发-静态库.a制作
本篇主要讲解关于.a静态库的制作和使用,封装之旅就此开始。
Xcode文件配置和清理备忘
这是一篇关于Xcode配置和清理相关路径的备忘录。我们可以直接进入下面的路径中,进行添加和删除操作,手残党误试。
Objective-C笔记之正则表达式
正则表达式从本质上来讲是一种描述字符串匹配模式的方式。它可以用来检查一个字符串是否包含某个子串,将检查的子串做替换,或者从某个串中取出符合某个条件的子串等。