
IOS开发
文章平均质量分 67
xunyn
iOS开发者
展开
-
苹果WWDC 2020 笔记及广告洞察
测试文章内容原创 2020-06-29 20:46:24 · 2498 阅读 · 0 评论 -
扩充你的Mac
扩充你的Mac扩充你的MacApple又推出了新的Mac pro,狂拽酷炫啊。可惜囊中羞涩,只能继续捯饬自己的2011年的Mac。这台老旧pro,虽有4G内存,但自从升级了Sierra,新版Xcode就开始卡顿,磁盘硬盘伤不起啊,时间耗在了IO上。果断选择更换固态硬盘。选择固态硬盘选择的是创见(Transcend)固态硬盘,他家的硬盘可谓有口皆碑,还有详细硬盘拆卸教程选择硬盘方案两种方案,第一种替换原创 2017-01-08 21:39:37 · 1803 阅读 · 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 · 5403 阅读 · 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 评论 -
Xcode LLDB Debug教程
开胃小菜--简单的断点调试在xcode中打开一个app,在想要break的行号上单击,即可生成一个深色的箭头标识--断点。如下图,在viewDidLoad:中设置了断点。运行app,等待。。。就可以看到xcode在断点处进入调试模式,现在让我们把视线移到xcode右下角的控制台,有木有看到(lldb)这样一行,鼠标移到此行,输入?1转载 2014-09-22 10:32:58 · 5887 阅读 · 0 评论 -
UIWebView与JavaScript相互调用
UIWebView与JavaScript的那些事儿UIWebView是IOS SDK中渲染网面的控件,在显示网页的时候,我们可以hack网页然后显示想显示的内容。其中就要用到javascript的知识,而UIWebView与javascript交互的方法就是stringByEvaluatingJavaScriptFromString:有了这个方法我们可以通过objc调用javasc转载 2014-09-11 16:29:08 · 7096 阅读 · 0 评论 -
Swift初窥----Playground
Playground是随着Swift在WWDC2014推出的,从字面意思来理解,"playground"就是操场,游乐场的原创 2014-08-15 18:44:32 · 6492 阅读 · 0 评论 -
Swift初窥----深入Swift
存储函数内存中的Fibonacci函数,避免重复递归,来提高代码执行效率模板编译器Swift编译器,使其可以编译出更快的机器代码原创 2014-08-06 19:02:11 · 3084 阅读 · 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 评论 -
Hybrid--WebView中使用Ajax
Hybrid框架下的app,使用的Ajax,需要注意的是UIWebViewDelegate不会监测到Ajax的request,也就是再执行Ajax代码时,shouldStartLoadWithReuqest等方法并不会被调用。其解决方法需要Javascript和navtive code一起来做,其基本原理可参考这片文章,其流程是在Javascript handler中每创建Ajax的请求时原创 2014-08-05 19:06:59 · 13173 阅读 · 6 评论 -
Swift初窥----语法进阶
缺省绑定(Optional Binding 自动置空)通过在类型变量后,加上?,可以实现缺省绑定为nilvar window: UIWindow?就是说,如果不对window赋值,则window的值为nil。这与Objective-C中在ARC模式下自动置nil的原理是不同的,在Swift中有NilType,这时候有一个新的概念,取值(Unwrapping Optionals)原创 2014-08-05 18:41:10 · 2808 阅读 · 0 评论 -
Swift初窥----语法入门
Swift知识点下面来点实际写Swift代码要用到的,首先Swift是没有头文件的,没有.h文件。变量声明Swift的变量声明有两个关键字,var和let,其中var和javascript中的差不多,可以声明任何类型的对象,还可以通过var mystring:String 来指定类型。 var myVariable = 42myVariable = 50let myCons原创 2014-07-25 17:22:42 · 3616 阅读 · 0 评论 -
iOS程序偏好设置--进阶
iOS的App除了在应用程序内部做偏好设置页面,还可以在setting里配置出偏好设置页面。如下图专家容志芳在这篇文章有详细的入门介绍,基本的原理是为工程添加settings.bundle后,会在里面看到root.plist,通过修改它里面的配置,来自定义自己的setting页面,其中的控件有以下7种。通过type来决定是哪种控件,除了子面板外,基本通过value和titl原创 2014-07-11 16:24:20 · 5717 阅读 · 0 评论 -
Swift初窥--使用Swift实现TableView
完成Swift的语法关之后,来点实际的Task,第一个任务是写一个tableview,使用cocoaTouch里tableview这个常用的控件。创建工程,选择Swift语言首先是用Obejctive-C写的最简单的tableview点击下载源码然后是Swift写的tableview点击下载源码原创 2014-06-25 18:55:49 · 11271 阅读 · 1 评论 -
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 · 3070 阅读 · 0 评论 -
code实现透明度渐变和颜色渐变的view
最近用code写了些view上的渐变效果,使得app的UI特效不必全部依赖美工出的图片。效果如下:主要用到了Layer上的渐变层,核心代码如下,关于CALaer的使用可参考//Transparent Gradient Layer- (void) insertTransparentGradient { UIColor *colorOne = [UIColor color原创 2014-06-14 12:09:04 · 17051 阅读 · 0 评论 -
制做自己的马赛克微信头像
CSDN的排版太难用了,建议大家看回我个人博客上的原文想法2013年接近尾声了,有的媒体会用马赛克的方式,把一年中的大事件汇集到一张图片上。印象中天才少年Matrix67曾试用Mathematica制作过自己马赛克头像,于是便有了用微信朋友圈里的图片来制作一个自己的微信头像。马赛克头像觉得不像我,可以离开座位,退后一点,离显示器远点看这张图片。动手原创 2013-11-27 11:30:11 · 15819 阅读 · 0 评论 -
在Mac上创建octopress博客
惯例,第一篇献给octopress,并感谢github创始人Tom Preston Werner,没有他放弃30W美元的年薪,便不会有github。看到这篇文章,你已经访问到我的octopress博客了(这不是废话么),如果有想法也创建一个独立的个人博客,可以参看我创建博客的一些经验。我是站在巨人的肩头上完成博客创建的,有:阮一峰的搭建一个免费的,无限流量的Blog----github原创 2013-11-22 19:11:46 · 4731 阅读 · 1 评论 -
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 · 24393 阅读 · 0 评论 -
使用CALayer实现图像镜面效果
在iOS中,可以使用QuartzCore.framework基于CALayer做一些图像效果,不清楚CALayer,请先看这篇。在这里我们给图像做一个简单的镜面反射效果,要学习一些图像变化的知识,首先,图像的变化分为:位置变化、尺寸变化、旋转变化等,在计算中,这些变化是用《线性代数》中的矩阵来表示,每一个图像的变化(无论多复杂),都可以分解为几个向量的数部移动,具体原理可以看这片文章。原创 2013-10-30 16:45:43 · 4538 阅读 · 0 评论 -
iPhone开发关于UDID和UUID的一些理解
一.UDID(Unique Device Identifier) UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI. ios5 sdk中的获取方法:转载 2013-10-30 15:49:08 · 5975 阅读 · 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 · 7266 阅读 · 3 评论 -
多线程快速解压FastZipArchive介绍
在iOS项目中用到解压缩,用的是ZipArchive,下载点击这里,ZipArchive是基于minizip的,但不支持多线程,封装的也不方便,然后就有了FastZipArchive,现在有一个粗糙的版本,下载点击:一 FastZipArchive的简介如下:1 基于ZipArchive和minizip的解压框架2 支持多线程并发3 拥有更快的解压缩速度(FAST_MODE下做了代原创 2013-10-23 18:36:55 · 4747 阅读 · 0 评论 -
开源网络访问LWConnection介绍
在涉及网络请求的App,往往会使用ASIHTTPRequest类库,详见本文。ASIHTTPRequest功能强大,代码较复杂,有些难懂,一般App端往往只使用http协议从server端取写数据;在CocoaTouch框架下本身有一个NSURLConneciton,也是对网络访问的抽象,它追求简化接口,功能主要在网络访问。便有了扩展NSURLConneciton的想法,对NSURLConneci原创 2013-10-10 18:39:58 · 5570 阅读 · 0 评论 -
发布iOS APP的阐述
最近在向App Store提交App,因升级Xcode5、iO7和新版的devcenter,弄的有些乱了方寸。先说下感悟,1 需要先看官方文档这是两份官方文档,第一个是发布App的About Distribution App第二个是消息通知机制的Push Notification 原来做过push notification,还写过文章,但是不熟悉新版的d原创 2013-10-09 15:46:11 · 2504 阅读 · 0 评论 -
阐明iOS证书和provision文件
译:阐明iOS证书和provision文件许多iOS开发人员都会和你说在iOS开发很困惑的问题之一,将app真正运行在真实的设备(iPhone iPad而不是模拟器),因为所有的这些都会涉及从苹果获得证书,甚至那些知道证书的一般流程的,仍会感觉有些奇怪一切是如何运行的,这将是一个长期的过程,但我希望本文将对你有用。为了更好的理解我们需要去了解这些的理由,你需要谨记这背后最大的原因:翻译 2013-10-09 14:09:49 · 13528 阅读 · 1 评论 -
iOS后台网络任务
在iOS系统,App的前台运行和后台运行,行为是不同的,iOS操作系统对后台运行做了诸多限制,为了能够让系统运行更流程和更省电。App的状态如下图:对于后台运行,首先需要确定设备是否支持多任务,在iOS4.0 之前是否没办法做到多任务的,不过现在iOS4.0的设备已经很少了。 UIDevice* device = [UIDevice currentDe原创 2013-09-30 11:32:03 · 6970 阅读 · 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 评论 -
App奔溃在objc_megSend()的调试方法之一
App出现crash,Debug后出现以下画面一般的情况下,当向已经release的对象发送消息时或消息接收者的内存结构被数组越界等破坏,程序便无法继续执行,变会出错解决方法一,在log输出界面,输入register read命令,查看奔溃时的寄存器信息,注意当前寄存器的状态是程序已经奔溃的状态,如下图原创 2013-08-22 10:00:10 · 2602 阅读 · 0 评论 -
定制UIImagePickController遇到的设备和照片方向问题
背景:定制了UIImagePickController的view,用横版的UI,引导用户去做横屏拍摄,需求: 让用户在确认照片时,照片始终横版向右设备的方向:typedef enum { UIDeviceOrientationUnknown, UIDeviceOrientationPortrait, UIDeviceOrientationPortraitUps原创 2013-07-24 11:37:55 · 2335 阅读 · 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 · 8985 阅读 · 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 · 3677 阅读 · 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 评论 -
树形Menu箭头动画
在使用TableView实现多级树型menu这篇中,实现了多级Menu的现实 ,很多时候为了让父菜单更有指示性,会在菜单中,加上向下向上箭头,以表示其自菜单是否打开。一般会加上下面的动画效果。 [UIView animateWithDuration:0.25 animations:^(void){imageView.transform = CGAffineTransformR原创 2013-03-20 10:55:41 · 3039 阅读 · 0 评论 -
GCD编程
使用GCD处理多线程,在多核心CPU下,会提高执行效率,下面是一段在项目中使用的GCD代码。- (void)gcdDownload{ static dispatch_once_t once; static dispatch_queue_t queue; //create download queue dispatch_once(&once, ^{原创 2013-03-16 21:34:37 · 9362 阅读 · 0 评论 -
中文URL处理
对于包含的中文的URL可以这样处理Decode NSString * str = [strURLstringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];Encode- (NSString*)encodeURL:(NSString *)string{原创 2013-03-11 21:21:33 · 1896 阅读 · 0 评论 -
iOS APP 开发流程
挺麻烦的,我我说一下大致流程:你必须有一个visa信用卡,支持国际支付的。然后到苹果开发者网站,注册一个账号,这一步是免费的。然后登陆,点enroll,会进入一个流程,填写你要加入的开发计划,个人信息,信用卡信息等。由于中国不支持直接支付,这个流程会给你一个pdf表单,打印填完签字,扫描后发到苹果亚洲的邮箱,说明原因。然后等大概三天(工作日)信用卡被扣款($99)苹果会回复邮件说明注册转载 2013-03-09 14:57:24 · 7864 阅读 · 1 评论 -
关于UIMenuController的使用 弹出菜单UIMenuItem
UIMenuController *menuController = [UIMenuController sharedMenuController]; UIMenuItem *menuItem_1 = [[UIMenuItem alloc] initWithTitle:@"复制" action:@selector()];//@selector()括号中为该按钮触发的方法,该方法必须转载 2013-02-25 21:43:13 · 8145 阅读 · 0 评论 -
关于iOS uiwebview 禁止弹出复制和粘贴功能
因为项目需要,需要在使用UIWebView载入html时,禁用在input中的copy paste Menu选项修改Html页面方法一:function OnLoad(){ document.documentElement.style.webkitTouchCallout = "none"; //禁止弹出菜单 document.docume原创 2013-02-25 21:42:05 · 20907 阅读 · 3 评论 -
二十岁出头的时候上,你一无所有,你拥有一切。
一篇治愈系的励志文,让我想到一句话,青春就是明明一无所有,却仍然相信有一天世界会在你脚下。(一)嘴上说说的人生那年我在离家的时候一个劲地往自己的硬盘里塞《灌篮高手》,我妈一副嗤之以鼻的表情看着我,似乎是在说:“这么大的人了居然还这么喜欢看动漫。”我不知道怎么回应她,只好耸耸肩,因为我实在无法对我亲爱的娘亲说明这部动漫对我的意义。你知道,有些歌有些东西就是转载 2013-02-21 10:19:33 · 5790 阅读 · 16 评论