我将从 Xcode
工程项目的结构出发,一步步解释 CocoaPods
的工作原理,最后教大家怎样让自己的项目支持 Carthage
。
此文从去年九月一直拖到今年十一月才正式完工,期间多次断断续续的写了点,再次对自己的执行力感到汗颜。。
这其中包含了我自己对 iOS 开发的一些基础探究与浅薄理解,欢迎大家拍砖~~
一曲肝肠断,天涯何处觅知音
我将从 Xcode
工程项目的结构出发,一步步解释 CocoaPods
的工作原理,最后教大家怎样让自己的项目支持 Carthage
。
此文从去年九月一直拖到今年十一月才正式完工,期间多次断断续续的写了点,再次对自己的执行力感到汗颜。。
这其中包含了我自己对 iOS 开发的一些基础探究与浅薄理解,欢迎大家拍砖~~
storyboard
的反对者们总是说
合并
storyboard
文件就是噩梦!
这么说也到没错。但幸运的是,有简单的办法来减少冲突的几率:
storyboard
尽可能的小这样做有以下几个好处:
storyboard
文件在xcode中渲染的更快(xcode是我永远的痛~~)storyboard
文件编译耗时将近一分钟!!)你应该充分利用一个新特性:Storyboard References
。如果你用不了,说明你还在支持iOS7,拜托,iOS11都快出了,还不升级留着过年么??
但是即便是再小的storyboard
也依旧会发生冲突,可以通过以下几个步骤来快速解决:
集成iOS项目打包、上传分发平台,发送邮件等功能,让你彻底脱离一遍又一遍的Archive、下一步、确定操作的噩梦。
地址:https://github.com/zzjzz9266a/IpaUploader
将你要打包的项目clone一份,放到跟uploader.py同一级目录下即可
主要就是两个文件,uploader.py和config.json,还有一个export文件,那是xcode输出ipa的配置文件。
你所有需要配置的内容都可以在config.json里找到,填上你自己的配置:
在最近的项目中遇到一个很让人费解的问题,就是在StoryBoard
中点击tableViewCell
跳转另一个controller时,如果使用segue连接,present方式跳转,会有很大概率出现延迟几秒钟的情况,甚至压根儿就不跳转。
这个问题困扰了我很久,最后是在苹果的开发者社区找到了答案:https://forums.developer.apple.com/thread/5861
最近在项目中使用了UITableView
的编辑模式来进行多选批量操作, 但是出现一个问题,就是用storyboard
布局的话,cell
里的内容默认是加到了contentView
上的,这就导致了tableView
变成编辑模式后,cell
里的内容被压缩,造成一些显示上的问题。
重写UITableCell
的willTransition(to state: UITableViewCellStateMask)
方法
公司项目在之前是没有将首页数据做缓存的,用户体验不太好,所以现在需要将首页数据存到本地。
首先考虑用NSKeyedArchiver
,但是用这货需要遵守NSCoding
协议,将模型里的每个属性确定类型。但我们项目用ObjectMapper
解析json,就已经把模型中的每个属性都设置过映射关系了,他喵的难道还要我要再写一遍?
后来仔细想想,json文件无非就是array和dictionary,只不过其本身的类型由根节点来确定,而且NSArray
和NSDictionary
是有writeToFile
的方法的,那么我把模型转为对应的NSArray
和NSDictionary
类型就好了啊,bingo~~
最近公司进行推广要制作二维码,要求是带logo的,找了一些在线的批量二维码生成工具,都不太符合要求,基本都是为了保证识别率把logo做的很小,看不到log 的细节。
我们公司后台是用django做的,正好最近在看一些python的东西,就自己写了几个二维码相关的小脚本,纯当练手了~~
python的一大优势就是有茫茫多的第三方库,几乎可以满足所有的需求。在图像处理方面,PIL是首选,本脚本用PIL主要是进行图片缩放,此外,还用了xlrd来解析excel,qrcode来生成二维码
话不多讲,上代码(python2.7):