iOS
nick8brown
这个作者很懒,什么都没留下…
展开
-
iOS 分层架构设计
> 衡量一个软件架构设计好坏的原则是:可复用性和可扩展性> 有关信息处理的应用应该采用分层架构设计,而游戏等应用不会采用这种分层架构设计(一般都会采用某个引擎)iOS分层架构设计,各层内容说明如下:1、表示层。(UIKIT Framework) 它由UIKIT Framework构成,包括我们前面学习的视图、控制器、控件和事件处理等内容。2、业务逻辑层。原创 2016-03-04 11:18:34 · 1240 阅读 · 0 评论 -
删除git本地仓库
1.在要删除的仓库目录文件夹上右击-Git bash here,开打git bash,输入命令(命令删除.git文件)find . -name ".git" | xargs rm -Rf2.打开git bash 输入rm -rf 仓库地址rm -rf https://github.com/NeroSolomon/VLearning.git ...原创 2018-12-03 17:57:59 · 504 阅读 · 1 评论 -
多人开发使用友盟 Library not found for -lAPOpenSdk
多人开发合作的时候 总是会遇见各种各样的问题 今天就来讲一个关于友盟的问题 环境 Xcode 7.3 工具 cornerstone在我的小伙伴 用cocoapods 中添加了这样一句话 pod ‘UMengSocialCOM’, ‘~> 5.2.1’ 并且pod update 了此时她的文件中多了友盟的一些文件 将它提交至svn后我来更新 打开xcode 发现报错 Li...原创 2018-12-03 17:54:56 · 168 阅读 · 0 评论 -
library not found for -lAPOpenSdk解决方案
昨天新建的项目,用cocoapods导入友盟。上传到SVN在checkout到本地运行,报错 library not found for -lAPOpenSdk,这个错误出现的原因可能是因为cornerstone默认忽略了*.a文件。解决方案:library not found for -lAPOpenSdk 这个错误消除的办法是用cocoapods重新导入一遍友盟。或者从根本上解决...原创 2018-12-03 17:52:58 · 314 阅读 · 0 评论 -
按钮多次触发问题
在开发中,我们经常会写倒计时的功能,在解决按钮避免在短时间内多次点击的时候, 1.我们可以设置UIButton的enable属性,为NO,或者YES 2.还可以利用两个方法达到同样的效果,下面为代码.可以很好地控制,几秒钟之后按钮点击才能执行方法.- (void)btnClick{ [[self class] cancelPreviousPerformRequest...原创 2018-12-03 17:49:38 · 938 阅读 · 0 评论 -
UIDatePicker显示24小时制,去掉不显示上午下午
要想UIDatePicker显示24小时制,需要满足2个条件:① 手机-设置-通用-时间-24小时制;② 设置 datePicker.calendar = [NSCalendar currentCalendar];附:<日期时间格式>使用 dateFormat 转换格式时,"HH:mm:ss" - 24 小时制;"hh:mm:ss" - 12 小时制;"yyyyMM...原创 2018-12-03 17:43:36 · 5533 阅读 · 0 评论 -
上传本地项目到GitHub
git init // 初始化gitgit add . // add所有文件git commit -m "first commit" // 提交到本地仓库git remote add origin https://github.com/yaoliangjun/Test.git // 项目地址git push -u origin master // 提交到远程库 如果项目有...原创 2018-12-03 17:39:01 · 130 阅读 · 0 评论 -
App Store 上架被拒问题总结
1、UIBackgroundModes,后台支持音频播放功能与app实际功能不符info.plist删除UIBackgroundModes设置2、microphone,隐私权限描述不详细info.plist修改Privacy - Microphone Usage Description3、app上架截图包含非iOS状态栏(安卓手机截图)app提交信息修改截图...原创 2018-12-03 17:34:16 · 454 阅读 · 0 评论 -
修改已设置好的git远程仓库
1、git remote rm origin2、git remote add origin + 地址原创 2018-12-04 11:03:55 · 188 阅读 · 0 评论 -
蓝牙代理连接步骤
0、didDiscoverPeripheral1、didConnectPeripheral2、didDiscoverServices3、didDiscoverCharacteristicsForService4、didUpdateNotificationStateForCharacteristic5、didUpdateValueForCharacteristic6、d...原创 2018-12-04 11:01:15 · 734 阅读 · 0 评论 -
测试驱动下的iOS应用开发
> 测试按照阶段划分为:单元测试、集成测试、系统测试、回归测试> 单元测试是一种白盒测试测试驱动开发流程设计单元测试用例 —> 编写单元测试程序 —> 程序编码 —> 单元测试 —> 出具单元测试报告iOS单元测试框架:1、OCUnit2、GHUnit3、XCTestd原创 2016-03-04 13:21:02 · 309 阅读 · 0 评论 -
找出程序中的bug——调试
一、Xcode调试工具1、定位编译错误2、查看和显示日志3、设置和查看断点文件行断点符号断点异常断点OpenGL ES断点单元测试失败断点4、调试工具二、日志与断言输出1、使用NSLog函数2、使用断言assert (condition, message):condition为false时抛出异常,在日志输出message的信息assertion原创 2016-03-04 11:56:52 · 640 阅读 · 0 评论 -
数据持久化
> 沙箱目录设计的原理就是只能允许自己的应用访问目录,而不允许其他的应用访问沙箱目录的子目录:1、Documents目录该目录用于存储非常大的文件或需要非常频繁的更新的数据,能够进行iTuens或iCLoud备份。2、Library目录在Library目录下面有Preferences和Cache目录,其中前者用于存放应用程序的设置数据,后者与Documents很原创 2016-03-04 11:24:45 · 194 阅读 · 0 评论 -
10种分层模式
如果只考虑业务逻辑层和数据持久层采用相同语言的情况下:1、ObjC-ObjC-ObjC,缩写为OOO:用Objective-C语言实现表示层,用Objective-C语言实现业务逻辑层,用Objective-C语言实现数据持久层2、Swift-Swift-Swift,缩写为SSS:用Swift语言实现表示层,用Swift语言实现业务逻辑层,用Swift语言实现数据持久层原创 2016-03-04 11:21:43 · 1965 阅读 · 0 评论 -
静态链接库
> 有时候,我们需要将某一层复用给其他的团队、公司或者个人,但由于某些原因,我们不能提供源代码,此时就可以将业务逻辑层和数据持久层编写成静态链接库或框架> 库是一些没有main函数的程序代码的集合静态链接库和动态链接库的区别:静态链接库可以编译到你的执行代码中,应用程序可以在没有静态链接库的环境下运行动态链接库不能编译到你的执行代码中,应用程序必须在有链接文件的环境原创 2016-03-04 11:20:46 · 407 阅读 · 0 评论 -
cocodpods更新某个库
pod update RongCloudIM --verbose --no-repo-update pod search RongCloudIM pod install --verbose --no-repo-updatepod update --verbose --no-repo-update原创 2018-12-03 17:58:42 · 501 阅读 · 0 评论