
IOS开发
文章平均质量分 67
xunyn
iOS开发者
展开
-
苹果WWDC 2020 笔记及广告洞察
测试文章内容原创 2020-06-29 20:46:24 · 2490 阅读 · 0 评论 -
CALayer的简单使用
原文地址:http://www.raywenderlich.com/2502/calayers-tutorial-for-ios-introduction-to-calayers-tutorial如果你已经在iPhone上做过开发,你可能对UIView和它的子类-Button,text,slider等,非常熟悉。但你可能不了解UIView是建立在CALayers之上的,至少我曾经有翻译 2013-10-25 14:59:46 · 7262 阅读 · 3 评论 -
多线程快速解压FastZipArchive介绍
在iOS项目中用到解压缩,用的是ZipArchive,下载点击这里,ZipArchive是基于minizip的,但不支持多线程,封装的也不方便,然后就有了FastZipArchive,现在有一个粗糙的版本,下载点击:一 FastZipArchive的简介如下:1 基于ZipArchive和minizip的解压框架2 支持多线程并发3 拥有更快的解压缩速度(FAST_MODE下做了代原创 2013-10-23 18:36:55 · 4740 阅读 · 0 评论 -
iPhone开发关于UDID和UUID的一些理解
一.UDID(Unique Device Identifier) UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI. ios5 sdk中的获取方法:转载 2013-10-30 15:49:08 · 5971 阅读 · 0 评论 -
使用CALayer实现图像镜面效果
在iOS中,可以使用QuartzCore.framework基于CALayer做一些图像效果,不清楚CALayer,请先看这篇。在这里我们给图像做一个简单的镜面反射效果,要学习一些图像变化的知识,首先,图像的变化分为:位置变化、尺寸变化、旋转变化等,在计算中,这些变化是用《线性代数》中的矩阵来表示,每一个图像的变化(无论多复杂),都可以分解为几个向量的数部移动,具体原理可以看这片文章。原创 2013-10-30 16:45:43 · 4534 阅读 · 0 评论 -
Xcode 统计项目代码行数及常用快捷键
1、统计Xcode项目代码行数 1 打开终端。 2 用ls和cd进到你项目的路径。 3 输入下面的指令: grep -r "\n" classes | wc -l (classes,为项目文件所在文件夹)(或者用grep -d recurse "\n" classes | wc -l )这里是使用unix命令来完成行数统计原创 2012-08-16 15:50:48 · 21792 阅读 · 0 评论 -
Mac 重装Safari
使用Mac时,有的时候Safari坏掉了,需要重新安装,它不像普通App一样,长按右键可以删除。重新安装的方法如下:一 先删除旧的Safari1 打开Terminal终端2 在命令行输入以下命令cd /Applications/rm -rf Safari.app/如果出现提示,访问被拒绝,无权限的错误可以使用sudo提高权限sudo rm -rf Sa原创 2013-11-12 14:20:24 · 24348 阅读 · 0 评论 -
制做自己的马赛克微信头像
CSDN的排版太难用了,建议大家看回我个人博客上的原文想法2013年接近尾声了,有的媒体会用马赛克的方式,把一年中的大事件汇集到一张图片上。印象中天才少年Matrix67曾试用Mathematica制作过自己马赛克头像,于是便有了用微信朋友圈里的图片来制作一个自己的微信头像。马赛克头像觉得不像我,可以离开座位,退后一点,离显示器远点看这张图片。动手原创 2013-11-27 11:30:11 · 15807 阅读 · 0 评论 -
IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等
IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等 NSLog(@"uniqueIdentifier: %@", [[UIDevice currentDevice] uniqueIdentifier]); NSLog(@"name: %@", [[UIDevice currentDevice] name]); NSLog(转载 2013-09-28 22:17:27 · 9657 阅读 · 0 评论 -
开源网络访问LWConnection介绍
在涉及网络请求的App,往往会使用ASIHTTPRequest类库,详见本文。ASIHTTPRequest功能强大,代码较复杂,有些难懂,一般App端往往只使用http协议从server端取写数据;在CocoaTouch框架下本身有一个NSURLConneciton,也是对网络访问的抽象,它追求简化接口,功能主要在网络访问。便有了扩展NSURLConneciton的想法,对NSURLConneci原创 2013-10-10 18:39:58 · 5570 阅读 · 0 评论 -
IOS数组按中文关键字以字母序排序
IOS项目中会用到对通讯录的联系人或是会员按姓名为关键字排序,因为NSArray并不直接支持对汉字的排序,这就要通过将汉字转换成拼音完成按A~Z的排序,这看起来是个头疼的问题,因为牵扯到汉字转为拼音,kmyhy给出一个较易实现的方法,获取汉字的首字的首字母,如将“王”变成“W”,完整文章(传送门)。 其中他通过pinyinFirstLetter函数获取中文拼音,函数原理是:“pinyin原创 2012-08-19 03:24:10 · 40489 阅读 · 23 评论 -
查看iPhone iPad模拟器文件夹
模拟器文件查看好,这个时候选择往模拟器上面调试程序:运行模拟器;打开Finder,按住option,在菜单栏中选择“前往”-》“资源库”如果没发现资源库,则使用终端命令行输入 open ~/Library/默认给隐藏了然后接着选择第一个"Application Support"(文件夹)-》"iPhone Simul原创 2012-09-25 13:32:06 · 4861 阅读 · 0 评论 -
定制UIImagePickController遇到的设备和照片方向问题
背景:定制了UIImagePickController的view,用横版的UI,引导用户去做横屏拍摄,需求: 让用户在确认照片时,照片始终横版向右设备的方向:typedef enum { UIDeviceOrientationUnknown, UIDeviceOrientationPortrait, UIDeviceOrientationPortraitUps原创 2013-07-24 11:37:55 · 2334 阅读 · 0 评论 -
中文URL处理
对于包含的中文的URL可以这样处理Decode NSString * str = [strURLstringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];Encode- (NSString*)encodeURL:(NSString *)string{原创 2013-03-11 21:21:33 · 1893 阅读 · 0 评论 -
App奔溃在objc_megSend()的调试方法之一
App出现crash,Debug后出现以下画面一般的情况下,当向已经release的对象发送消息时或消息接收者的内存结构被数组越界等破坏,程序便无法继续执行,变会出错解决方法一,在log输出界面,输入register read命令,查看奔溃时的寄存器信息,注意当前寄存器的状态是程序已经奔溃的状态,如下图原创 2013-08-22 10:00:10 · 2598 阅读 · 0 评论 -
iOS后台网络任务
在iOS系统,App的前台运行和后台运行,行为是不同的,iOS操作系统对后台运行做了诸多限制,为了能够让系统运行更流程和更省电。App的状态如下图:对于后台运行,首先需要确定设备是否支持多任务,在iOS4.0 之前是否没办法做到多任务的,不过现在iOS4.0的设备已经很少了。 UIDevice* device = [UIDevice currentDe原创 2013-09-30 11:32:03 · 6961 阅读 · 0 评论 -
阐明iOS证书和provision文件
译:阐明iOS证书和provision文件许多iOS开发人员都会和你说在iOS开发很困惑的问题之一,将app真正运行在真实的设备(iPhone iPad而不是模拟器),因为所有的这些都会涉及从苹果获得证书,甚至那些知道证书的一般流程的,仍会感觉有些奇怪一切是如何运行的,这将是一个长期的过程,但我希望本文将对你有用。为了更好的理解我们需要去了解这些的理由,你需要谨记这背后最大的原因:翻译 2013-10-09 14:09:49 · 13517 阅读 · 1 评论 -
发布iOS APP的阐述
最近在向App Store提交App,因升级Xcode5、iO7和新版的devcenter,弄的有些乱了方寸。先说下感悟,1 需要先看官方文档这是两份官方文档,第一个是发布App的About Distribution App第二个是消息通知机制的Push Notification 原来做过push notification,还写过文章,但是不熟悉新版的d原创 2013-10-09 15:46:11 · 2503 阅读 · 0 评论 -
在Mac上创建octopress博客
惯例,第一篇献给octopress,并感谢github创始人Tom Preston Werner,没有他放弃30W美元的年薪,便不会有github。看到这篇文章,你已经访问到我的octopress博客了(这不是废话么),如果有想法也创建一个独立的个人博客,可以参看我创建博客的一些经验。我是站在巨人的肩头上完成博客创建的,有:阮一峰的搭建一个免费的,无限流量的Blog----github原创 2013-11-22 19:11:46 · 4729 阅读 · 1 评论 -
Swift初窥--使用Swift实现TableView
完成Swift的语法关之后,来点实际的Task,第一个任务是写一个tableview,使用cocoaTouch里tableview这个常用的控件。创建工程,选择Swift语言首先是用Obejctive-C写的最简单的tableview点击下载源码然后是Swift写的tableview点击下载源码原创 2014-06-25 18:55:49 · 11266 阅读 · 1 评论 -
扩充你的Mac
扩充你的Mac扩充你的MacApple又推出了新的Mac pro,狂拽酷炫啊。可惜囊中羞涩,只能继续捯饬自己的2011年的Mac。这台老旧pro,虽有4G内存,但自从升级了Sierra,新版Xcode就开始卡顿,磁盘硬盘伤不起啊,时间耗在了IO上。果断选择更换固态硬盘。选择固态硬盘选择的是创见(Transcend)固态硬盘,他家的硬盘可谓有口皆碑,还有详细硬盘拆卸教程选择硬盘方案两种方案,第一种替换原创 2017-01-08 21:39:37 · 1798 阅读 · 0 评论 -
使用iTunes向设备安装ipa
给客户的文档1 Download the ipa file 2 Drag file to iTunes’s App on the slide menu if don’t have slide menu on the iTunes, can access the view on the tool bar, andclick “show slide bar”原创 2014-11-25 19:00:32 · 5397 阅读 · 2 评论 -
Xcode6 UIWebView与JavaScript交互(issue fix)
这篇文章中,有介绍UIWebView与JavaScript交互,在UIWebView截获JavaScript请求处理,从app的角度,这是JavaScript的Hook请求。 在Xcode6之前的App版本,JavaScript可以这样将Hook请求发送出来:HTML:test linkJavaScript: function xcode6(){ var原创 2014-09-30 17:35:18 · 5791 阅读 · 0 评论 -
Swift初窥----Playground
Playground是随着Swift在WWDC2014推出的,从字面意思来理解,"playground"就是操场,游乐场的原创 2014-08-15 18:44:32 · 6484 阅读 · 0 评论 -
UIWebView与JavaScript相互调用
UIWebView与JavaScript的那些事儿UIWebView是IOS SDK中渲染网面的控件,在显示网页的时候,我们可以hack网页然后显示想显示的内容。其中就要用到javascript的知识,而UIWebView与javascript交互的方法就是stringByEvaluatingJavaScriptFromString:有了这个方法我们可以通过objc调用javasc转载 2014-09-11 16:29:08 · 7096 阅读 · 0 评论 -
code实现透明度渐变和颜色渐变的view
最近用code写了些view上的渐变效果,使得app的UI特效不必全部依赖美工出的图片。效果如下:主要用到了Layer上的渐变层,核心代码如下,关于CALaer的使用可参考//Transparent Gradient Layer- (void) insertTransparentGradient { UIColor *colorOne = [UIColor color原创 2014-06-14 12:09:04 · 17039 阅读 · 0 评论 -
Xcode LLDB Debug教程
开胃小菜--简单的断点调试在xcode中打开一个app,在想要break的行号上单击,即可生成一个深色的箭头标识--断点。如下图,在viewDidLoad:中设置了断点。运行app,等待。。。就可以看到xcode在断点处进入调试模式,现在让我们把视线移到xcode右下角的控制台,有木有看到(lldb)这样一行,鼠标移到此行,输入?1转载 2014-09-22 10:32:58 · 5886 阅读 · 0 评论 -
Hybrid----优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案
转载自:http://blog.csdn.net/yanghua_kobe/article/details/8209751简介本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge。它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发送、接收、消息处理器的注册与调用以及设置消息处理的回调。就像项转载 2013-04-15 10:17:51 · 6710 阅读 · 0 评论 -
Swift初窥--综述
Swift是什么?Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序。在设计Swift时.就有意和Objective-C共存,Objective-C是Apple操作系统在导入Swift前使用的编程语言Swift是Apple在WWDC2014所发布的一门编程语言,用来撰写OS X和iOS应用程序。在设计Swift时.就有意和Objective-C共原创 2014-06-25 18:40:46 · 3069 阅读 · 0 评论 -
Hybrid----Debugging Web Content on iOS(在iOS设备上调试网页内容)
在iOS设备上调试网页内容用iOS 6已上版本的Safari,可以通过Mac调试移动网页内容,你可以直接看到JavaScript的错误,编辑HTML属性,改变CSS属性,甚至可以在mac机上完成开发,这片文章描述了如何使用web inspector调试网页内容。你应该使用桌面和数个iOS设备测试网页内容,如果不能做到真机测试,可以使用iOS模拟器,因为在iOS系统和OS X系统浏览翻译 2013-06-07 17:44:36 · 8973 阅读 · 0 评论 -
Hybrid----UIWebView的HTML页面
最近在做一些hybird框架的项目,对于embed的UIWebView,其宽度一般由Native app 指定,对于HTML页面其中若是width指定为device-width,那么embed的UIWebView的宽不应设置小于device-width的值,如ipad的宽为768在webView中查看HTML页面源代码- (void)webVie原创 2013-06-03 16:22:04 · 3672 阅读 · 0 评论 -
Hybrid----使用UIWebView显示PDF等文档
App中若需要显示pdf、word文档,这时候没有其他控件,比UIWebView更适合,它高度抽象了技术细节,可以很简单的使用UIWebView可打开文件类型列表(需要iOS3.0系统以上)可以看到Excel、PPT、PDF、Word都可打开。点击可下载打开PDF的Demo将UIWebView加入到界面,获得源文件路径,打开文件 NSString *pat原创 2014-08-06 18:51:13 · 6115 阅读 · 0 评论 -
Swift初窥----深入Swift
存储函数内存中的Fibonacci函数,避免重复递归,来提高代码执行效率模板编译器Swift编译器,使其可以编译出更快的机器代码原创 2014-08-06 19:02:11 · 3083 阅读 · 0 评论 -
Swift初窥----语法进阶
缺省绑定(Optional Binding 自动置空)通过在类型变量后,加上?,可以实现缺省绑定为nilvar window: UIWindow?就是说,如果不对window赋值,则window的值为nil。这与Objective-C中在ARC模式下自动置nil的原理是不同的,在Swift中有NilType,这时候有一个新的概念,取值(Unwrapping Optionals)原创 2014-08-05 18:41:10 · 2805 阅读 · 0 评论 -
Hybrid--WebView中使用Ajax
Hybrid框架下的app,使用的Ajax,需要注意的是UIWebViewDelegate不会监测到Ajax的request,也就是再执行Ajax代码时,shouldStartLoadWithReuqest等方法并不会被调用。其解决方法需要Javascript和navtive code一起来做,其基本原理可参考这片文章,其流程是在Javascript handler中每创建Ajax的请求时原创 2014-08-05 19:06:59 · 13169 阅读 · 6 评论 -
Swift初窥----语法入门
Swift知识点下面来点实际写Swift代码要用到的,首先Swift是没有头文件的,没有.h文件。变量声明Swift的变量声明有两个关键字,var和let,其中var和javascript中的差不多,可以声明任何类型的对象,还可以通过var mystring:String 来指定类型。 var myVariable = 42myVariable = 50let myCons原创 2014-07-25 17:22:42 · 3615 阅读 · 0 评论 -
iOS程序偏好设置--进阶
iOS的App除了在应用程序内部做偏好设置页面,还可以在setting里配置出偏好设置页面。如下图专家容志芳在这篇文章有详细的入门介绍,基本的原理是为工程添加settings.bundle后,会在里面看到root.plist,通过修改它里面的配置,来自定义自己的setting页面,其中的控件有以下7种。通过type来决定是哪种控件,除了子面板外,基本通过value和titl原创 2014-07-11 16:24:20 · 5714 阅读 · 0 评论 -
从C++到objective-C----委托
委托在IOS开发框架Cocoa Touch 中经常使用,其含义是一个类的对象要求委托对象执行它的某些操作。委托机制实际是种设计模式,通过此种机制,能降低对象间的耦合。一上为概念描述。本文 主要介绍的是Objective-C中的NSObject基类,是片初学者理解id类型的入门文章,熟悉Objective-C的课直接阅读 iOS设计模式--委托模式//环境//Mac OS X原创 2012-05-13 23:57:36 · 2349 阅读 · 0 评论 -
从C++到objective-c----委托(模板方法)
在上篇中,简单介绍了委托如何实现,在Core Location框架中,委托与协议共同使用,实现了对象间解耦及灵活性的问题,现在在上一份代码的基础上,新增加一个协议,即ManagerDelegate,此协议只有一个方法decideFrameDescription,这就构成了一个委托机制(delegation)(设计模式的一种)。代码(点击这里下载)//环境//Mac OS X 1原创 2012-05-15 15:08:23 · 2074 阅读 · 0 评论 -
Mac下svn command命令
转载:Mac下svn command命令svn help command 获取子命令说明svn info $URL 查看工作空间信息svn list 显示当前目录下svn记录文件列表,不访问版本库svn list $URL 不下载到本地查看目录中的文件svn log 5:19 查看版本5到19的历史信息svn log 查看当前目录的历史修改信息svn l转载 2012-11-26 11:40:13 · 4484 阅读 · 0 评论