- 博客(117)
- 资源 (28)
- 收藏
- 关注
原创 Android OAID 深度探究
Android OAID技术是什么OAID 移动安全联盟(该联盟为中国信息通信研究院下属电信终端产业协会的下属联盟组织)联合终端厂商推出的团体标准。OAID:Open AnonymousDevice Identifier开放匿名设备标识符根据该联盟公布在网上的《移动智能终端补充设备标识规范》文本“本规范旨在规范移动智能终端补充设备标识体系的体系架构、功能要求、接口要求以及安全要求。规范设备生产企业遵循标准要求开发统一接口调用方式,方便移动应用接入、减小维护成本”。支持厂商想要实现设...
2020-06-02 15:12:55
7527
2
原创 学习Android开发----HMS core ads kit与AdMob集成对比
整体HMS Core的文章质量还是棒棒的,简介有条理,美中不足的是
2020-05-18 20:46:10
895
原创 iOS工程师学习Android开发----AndroidStudio环境准备
1 首先在android开发网站下载Mac版的安装包,http://www.android-studio.org/index.php/download下一步安装,安装完成后,在国内会弹出proxy的设置对话框,这个可以忽略,继续下面的步骤2 工具包安装完成后,Android Studio还需要下载各种包,包括模拟器的SDK文件,3 下载完成后创建HelloWorld工程,自动下载编译包Gradle相关的文件4 使用kotlin语言开发,如果有swift的开发经验,那么kotlin语言
2020-05-12 17:26:46
639
原创 扩充你的Mac
扩充你的Mac扩充你的MacApple又推出了新的Mac pro,狂拽酷炫啊。可惜囊中羞涩,只能继续捯饬自己的2011年的Mac。这台老旧pro,虽有4G内存,但自从升级了Sierra,新版Xcode就开始卡顿,磁盘硬盘伤不起啊,时间耗在了IO上。果断选择更换固态硬盘。选择固态硬盘选择的是创见(Transcend)固态硬盘,他家的硬盘可谓有口皆碑,还有详细硬盘拆卸教程选择硬盘方案两种方案,第一种替换
2017-01-08 21:39:37
1791
原创 使用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
5396
1
原创 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
5780
转载 Xcode LLDB Debug教程
开胃小菜--简单的断点调试在xcode中打开一个app,在想要break的行号上单击,即可生成一个深色的箭头标识--断点。如下图,在viewDidLoad:中设置了断点。运行app,等待。。。就可以看到xcode在断点处进入调试模式,现在让我们把视线移到xcode右下角的控制台,有木有看到(lldb)这样一行,鼠标移到此行,输入?1
2014-09-22 10:32:58
5877
转载 UIWebView与JavaScript相互调用
UIWebView与JavaScript的那些事儿UIWebView是IOS SDK中渲染网面的控件,在显示网页的时候,我们可以hack网页然后显示想显示的内容。其中就要用到javascript的知识,而UIWebView与javascript交互的方法就是stringByEvaluatingJavaScriptFromString:有了这个方法我们可以通过objc调用javasc
2014-09-11 16:29:08
7094
原创 Swift初窥----Playground
Playground是随着Swift在WWDC2014推出的,从字面意思来理解,"playground"就是操场,游乐场的
2014-08-15 18:44:32
6479
原创 Swift初窥----深入Swift
存储函数内存中的Fibonacci函数,避免重复递归,来提高代码执行效率模板编译器Swift编译器,使其可以编译出更快的机器代码
2014-08-06 19:02:11
3082
原创 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
6107
原创 Hybrid--WebView中使用Ajax
Hybrid框架下的app,使用的Ajax,需要注意的是UIWebViewDelegate不会监测到Ajax的request,也就是再执行Ajax代码时,shouldStartLoadWithReuqest等方法并不会被调用。其解决方法需要Javascript和navtive code一起来做,其基本原理可参考这片文章,其流程是在Javascript handler中每创建Ajax的请求时
2014-08-05 19:06:59
13164
1
原创 Swift初窥----语法进阶
缺省绑定(Optional Binding 自动置空)通过在类型变量后,加上?,可以实现缺省绑定为nilvar window: UIWindow?就是说,如果不对window赋值,则window的值为nil。这与Objective-C中在ARC模式下自动置nil的原理是不同的,在Swift中有NilType,这时候有一个新的概念,取值(Unwrapping Optionals)
2014-08-05 18:41:10
2802
原创 Swift初窥----语法入门
Swift知识点下面来点实际写Swift代码要用到的,首先Swift是没有头文件的,没有.h文件。变量声明Swift的变量声明有两个关键字,var和let,其中var和javascript中的差不多,可以声明任何类型的对象,还可以通过var mystring:String 来指定类型。 var myVariable = 42myVariable = 50let myCons
2014-07-25 17:22:42
3610
原创 iOS程序偏好设置--进阶
iOS的App除了在应用程序内部做偏好设置页面,还可以在setting里配置出偏好设置页面。如下图专家容志芳在这篇文章有详细的入门介绍,基本的原理是为工程添加settings.bundle后,会在里面看到root.plist,通过修改它里面的配置,来自定义自己的setting页面,其中的控件有以下7种。通过type来决定是哪种控件,除了子面板外,基本通过value和titl
2014-07-11 16:24:20
5711
原创 Swift初窥--使用Swift实现TableView
完成Swift的语法关之后,来点实际的Task,第一个任务是写一个tableview,使用cocoaTouch里tableview这个常用的控件。创建工程,选择Swift语言首先是用Obejctive-C写的最简单的tableview点击下载源码然后是Swift写的tableview点击下载源码
2014-06-25 18:55:49
11260
原创 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
3066
原创 code实现透明度渐变和颜色渐变的view
最近用code写了些view上的渐变效果,使得app的UI特效不必全部依赖美工出的图片。效果如下:主要用到了Layer上的渐变层,核心代码如下,关于CALaer的使用可参考//Transparent Gradient Layer- (void) insertTransparentGradient { UIColor *colorOne = [UIColor color
2014-06-14 12:09:04
17032
原创 iOS面试悲剧的应对的方法
最近群里的朋友,遇到了被拒的面试,回来之后在群里很伤心。从客观的角度,数个求职者竞争有限的岗位,总是几家欢喜,几家愁的。具体的过程中,小姑娘在遇到面试官的“否定”,没有开发经验,便一下乱了,感觉希望不大了,回答接下来的问题,基本是:“没经验,没试过”。其实在面试过程中,求职者尽量避免被面试官的个人看法所影响,获得积极的信号还好,若获得了消极的信号,会影响面试发挥,换个角度讲,既然来参加企业面试,就
2014-04-10 18:49:11
19294
原创 ModalView和Navigation混用
使用UIViewController时,将viewcontroller放入UINavigationController的栈里,和将viewcontroller用modalView的方式显示出来时,混用时,需要注意的有:1 不可以将已经压入Navigation栈的ViewController,使用ModalViewController弹出,会出现“'NSInvalidArgument
2014-03-06 15:13:34
6209
原创 iOS进阶面试题----经典10道
OneV‘s Den在博客里出了10道iOS面试题,用他的话是:"列出了十个应聘Leader级别的高级Cocoa/CocoaTouch开发工程师所应该掌握和理解的技术" 。 在这里給一份我的答案。 1. 你使用过Objective-C的运行时编程(Runtime Programming)么?如果使用过,你用它做了什么?你还能记得你所使用的相关的头文件或者某些方法的名称吗? Obje
2013-12-10 21:45:36
102825
1
原创 Mac上安装Rails
原文链接: http://xunyanan.com/blog/2013/11/26/mosaic-photo-and-share-moment/ written by 寻亚楠 posted at http://xunyanan.comrails是一套基于ruby的web开发框架。下面是在mac上安装rails的过程。环境Mac pro (OS X 10.9)
2013-12-02 11:44:00
10833
原创 制做自己的马赛克微信头像
优快云的排版太难用了,建议大家看回我个人博客上的原文想法2013年接近尾声了,有的媒体会用马赛克的方式,把一年中的大事件汇集到一张图片上。印象中天才少年Matrix67曾试用Mathematica制作过自己马赛克头像,于是便有了用微信朋友圈里的图片来制作一个自己的微信头像。马赛克头像觉得不像我,可以离开座位,退后一点,离显示器远点看这张图片。动手
2013-11-27 11:30:11
15793
原创 在Mac上创建octopress博客
惯例,第一篇献给octopress,并感谢github创始人Tom Preston Werner,没有他放弃30W美元的年薪,便不会有github。看到这篇文章,你已经访问到我的octopress博客了(这不是废话么),如果有想法也创建一个独立的个人博客,可以参看我创建博客的一些经验。我是站在巨人的肩头上完成博客创建的,有:阮一峰的搭建一个免费的,无限流量的Blog----github
2013-11-22 19:11:46
4723
原创 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
24293
原创 iOS进阶面试题----多线程
1 多线程是什么 多线程是个复杂的概念,按字面意思是同步完成多项任务,提高了资源的使用效率,从硬件、操作系统、应用软件不同的角度去看,多线程被赋予不同的内涵,对于硬件,现在市面上多数的CPU都是多核的,多核的CPU运算多线程更为出色;从操作系统角度,是多任务,现在用的主流操作系统都是多任务的,可以以便听歌、一边写博客;对于应用来说,多线程可以让应用有更快的回应,可以在网络下载时,同时响应用户的
2013-11-08 17:49:37
60806
原创 薪火相传
参与传知公益基金赴甘肃庆阳市环县木钵镇中心小学建立传知电脑室,做义工行程记录:11月2号:1 9点从西安出发,去机场与香港广州的同事汇合。2 11点从机场出发做大巴去甘肃环县山区3 晚上8点到达环县,吃晚饭,检修电脑,住宿11月3号:1 早上7点起床,吃早餐,前往木钵镇中心小学2 8点半简单的揭幕仪式3 9点开
2013-11-05 22:19:19
1909
原创 使用CALayer实现图像镜面效果
在iOS中,可以使用QuartzCore.framework基于CALayer做一些图像效果,不清楚CALayer,请先看这篇。在这里我们给图像做一个简单的镜面反射效果,要学习一些图像变化的知识,首先,图像的变化分为:位置变化、尺寸变化、旋转变化等,在计算中,这些变化是用《线性代数》中的矩阵来表示,每一个图像的变化(无论多复杂),都可以分解为几个向量的数部移动,具体原理可以看这片文章。
2013-10-30 16:45:43
4528
转载 iPhone开发关于UDID和UUID的一些理解
一.UDID(Unique Device Identifier) UDID是Unique Device Identifier的缩写,中文意思是设备唯一标识. 在很多需要限制一台设备一个账号的应用中经常会用到,在Symbian时代,我们是使用IMEI作为设备的唯一标识的,可惜的是Apple官方不允许开发者获得设备的IMEI. ios5 sdk中的获取方法:
2013-10-30 15:49:08
5967
原创 iOS开发个人独立博客收集
现在技术博客网站有很多,如优快云,CNBlog,ITEye等,论坛的话主要是要cocachina。这里是我收集的iOS开发个人独立博客,文章用搜索引擎比较难搜到,都是牛人:OneV‘s Den简介:一个在日本工作的哥哥,写的文章有深度唐巧简介:粉笔网,iOS主程zhenby's blog简介:技术牛人“我”的开发笔记简介
2013-10-25 20:26:57
17176
翻译 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
7252
原创 多线程快速解压FastZipArchive介绍
在iOS项目中用到解压缩,用的是ZipArchive,下载点击这里,ZipArchive是基于minizip的,但不支持多线程,封装的也不方便,然后就有了FastZipArchive,现在有一个粗糙的版本,下载点击:一 FastZipArchive的简介如下:1 基于ZipArchive和minizip的解压框架2 支持多线程并发3 拥有更快的解压缩速度(FAST_MODE下做了代
2013-10-23 18:36:55
4730
原创 开源网络访问LWConnection介绍
在涉及网络请求的App,往往会使用ASIHTTPRequest类库,详见本文。ASIHTTPRequest功能强大,代码较复杂,有些难懂,一般App端往往只使用http协议从server端取写数据;在CocoaTouch框架下本身有一个NSURLConneciton,也是对网络访问的抽象,它追求简化接口,功能主要在网络访问。便有了扩展NSURLConneciton的想法,对NSURLConneci
2013-10-10 18:39:58
5564
原创 发布iOS APP的阐述
最近在向App Store提交App,因升级Xcode5、iO7和新版的devcenter,弄的有些乱了方寸。先说下感悟,1 需要先看官方文档这是两份官方文档,第一个是发布App的About Distribution App第二个是消息通知机制的Push Notification 原来做过push notification,还写过文章,但是不熟悉新版的d
2013-10-09 15:46:11
2498
翻译 阐明iOS证书和provision文件
译:阐明iOS证书和provision文件许多iOS开发人员都会和你说在iOS开发很困惑的问题之一,将app真正运行在真实的设备(iPhone iPad而不是模拟器),因为所有的这些都会涉及从苹果获得证书,甚至那些知道证书的一般流程的,仍会感觉有些奇怪一切是如何运行的,这将是一个长期的过程,但我希望本文将对你有用。为了更好的理解我们需要去了解这些的理由,你需要谨记这背后最大的原因:
2013-10-09 14:09:49
13501
原创 iOS后台网络任务
在iOS系统,App的前台运行和后台运行,行为是不同的,iOS操作系统对后台运行做了诸多限制,为了能够让系统运行更流程和更省电。App的状态如下图:对于后台运行,首先需要确定设备是否支持多任务,在iOS4.0 之前是否没办法做到多任务的,不过现在iOS4.0的设备已经很少了。 UIDevice* device = [UIDevice currentDe
2013-09-30 11:32:03
6954
转载 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
9650
原创 敏捷开发实践
敏捷开发是一套软件开发的方法学,或者方法框架,包含有很多内容,详细定义可以点击 , 敏捷开发http://en.wikipedia.org/wiki/Agile_software_development 瀑布模型 http://en.wikipedia.org/wiki/Waterfall_model,本文主要是讲在开发团队中实践敏捷开发,1 角色在瀑布模型中,所有的流程是预先定
2013-09-25 11:02:51
5725
原创 iOS进阶面试题----Block部分
1 什么是block对于闭包(block),有很多定义,其中闭包就是能够读取其它函数内部变量的函数,这个定义即接近本质又较好理解。对于刚接触Block的同学,会觉得有些绕,因为我们习惯写这样的程序main(){ funA();} funA(){funB();} funB(){.....}; 就是函数main调用函数A,函数A调用函数B... 函数们依次顺序执行,但现实中不全是这样的,例如项目经
2013-09-17 11:00:17
72288
2
Agile Workflow
2013-09-25
iOS委托模式实例
2013-03-20
TableView多级目录菜单(修正)
2013-02-25
TableView多级目录菜单
2013-02-03
StoryBoard内动态加入UIViewController
2012-08-16
在StoryBoard动态加入UIViewController
2012-08-16
objective-c委托机制(二)(delegate2)
2012-05-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人