
ObjectiveC/Cococa
ani_di
喜欢收集有趣的面试题;python程序员。
展开
-
app提权的方法
做Mac软件,需要以root帐户运行,所以需要提升app的权限。我记得原来在windows下只需要改一个编译选项即可,不过mac里就不行了。经过一番google,找到了2种提权方法: 1. 通过脚本等执行shell 这可能是最快能想到的方法,毕竟sudo命令太常用了。实现这个方案用applescript比较合适,一句代码即可搞定do shell script "xxxx" with原创 2011-06-29 09:50:00 · 3836 阅读 · 0 评论 -
NSTimer中调用静态方法
Usually we schedule NSTimer like: [NSTimer scheduledTimerWithTimeInterval:2.0 target:instance selector:@selector(targetMethod) userInfo:nil转载 2013-05-11 15:40:02 · 1474 阅读 · 0 评论 -
Objective-C 函数参数汇编分析
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_diObjective-C 函数参数汇编分析环境 Mac OS X 10.7.5,Xcode 4.3.2,64-bit,Debug,lldb先看三个简单的方法-(void)print { NSLog(@"0");}-(void)print:(NSStr原创 2013-05-21 11:51:02 · 4237 阅读 · 0 评论 -
MacOS X 国际化学习笔记
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_diMacOS X 国际化学习笔记资料来源 https://developer.apple.com/cn/internationalization/国际化会涉及那些修改Nib files (windows, views, menus)静态文本图标语音音频在线文档动原创 2013-04-21 15:22:51 · 3634 阅读 · 0 评论 -
如何打开Nib文件
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_di如何打开Nib文件有段时间没有灌水,今天分享一个小技巧。nib文件是Cocoa App的界面资源,代码中一般用xib代替了nib,因为这样方便版本管理。发布出去的仍然是nib,而且是编译后的nib,这种文件直接用xcode是不能被打开的。可以手工修改一下nib原创 2013-06-27 13:52:54 · 13150 阅读 · 4 评论 -
App挂起、复原与终止[水帖]
iOS的无缝挂起体验不错,虽说这种类似“休眠”的功能在操作系统上早已出现,当App挂起要求速度更快。讲解挂起的文章不多,大部分都是说明几个API。挂起相关方法(NSApplication delegate)– applicationWillFinishLaunching:– applicationDidFinishLaunching:– applicationShouldT原创 2013-08-05 11:42:14 · 2188 阅读 · 0 评论 -
iOS/Mac OS X 汉字转拼音
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_diiOS/Mac OS X 汉字转拼音网络流行的汉字转拼音方案是带一个拼音码表,速度快。其实Core Foundation也提供了一种方案,而且还带声调! NSMutableString *ms = [[NSMutableString al原创 2013-08-09 16:27:47 · 7036 阅读 · 5 评论 -
庖丁解牛FPPopover
作者:ani_di版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_di庖丁解牛FPPopoverFPPopover是一个实现Popover控件的开源项目,比标准控件要强大一些。虽然如此,但是在定制边框弹框时,还是遇到了问题:border=NO并且arrowDirection = FPPopoverNoArrow时多出了一个头。原创 2013-09-29 23:52:55 · 2708 阅读 · 0 评论 -
本地schemeApp扩展
作者:ani_di版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_di本地schemeApp扩展iHasApp这个用过的话,大概知道我说的是什么了。schemeApp.json这个数据库里面只有scheme和appid,官方demo是使用appid到iTunes上查询完整信息,比如名字、图片等。 我写了点代码,到iTunes上抓了一些原创 2013-10-10 21:52:11 · 1737 阅读 · 1 评论 -
ObjC逆向工程
ObjC逆向工程最近做iOS逆向的人是越来越多,什么公司火什么技术就越有人研究。想当年微软牛的时候,也被人翻个底朝天。这里只是分享一下个人心得。逆向ObjC写的代码,下面几个东西一定要必备。class-dump 查看类定义必备神器。ObjC也是一种比较动态的语言,一般来说动态语言的代码都比较容易分析,因为方法、类等信息都是字符串。如果有虚拟机,代码都有人能反编译出来(当然,这一原创 2013-09-28 21:31:50 · 1673 阅读 · 0 评论 -
解决 CGBitmapContextCreate: unsupported parameter combination 错误
苹果再一次调皮了。- (void)drawRect:(CGRect)dirtyRect{ CGRect bounds = [self bounds]; CGContextRef context = UIGraphicsGetCurrentContext(); CGColorSpaceRef space = CGColorSpaceCreateDeviceRGB();原创 2013-12-07 17:22:43 · 13845 阅读 · 0 评论 -
GCD杂感
以前谈到GUI的多线程技术,http://blog.youkuaiyun.com/ani_di/article/details/8654214。前面三种是非常老的技术,代码很多,而且容易出错。唯独最后一种GCD(中央调度),代码精简,理解容易。其实后面还可以加上NSObject的performSelector:– performSelector:withObject:afterDelay:– p原创 2013-04-18 15:26:44 · 1277 阅读 · 0 评论 -
Objective-C协议浅析与使用
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_diObjective-C协议浅析与使用协议(Protocol)是ObjC 2.0新增的特性。它可以简单的理解为一组方法声明,而定义交给使用者去实现,与C++或Java中的纯抽象类相似。 以ObjC强大的动态性,没有协议同样可以达到类似的效果。使用协议有以下优势:* 显示声明原创 2013-04-13 14:54:46 · 1195 阅读 · 0 评论 -
在命令行下用applescript显示图形界面
#!/bin/bash/usr/bin/osascript <<-EOF tell application "System Events" activate display dialog "Hello world" end t原创 2011-07-08 13:22:11 · 2524 阅读 · 0 评论 -
Apple Technical Note TN2065 -- do shell script in AppleScript 问答集锦
Q: How do I pass an AppleScript variable to my shell command?Since the command argument to do shell script is really just a string, you can build the string at run time using the AppleScript concatena原创 2011-06-30 14:09:00 · 1192 阅读 · 0 评论 -
Authorization Services Programming Guide 学习
Authorization Services Programming Guide1. Concept Mac OS X kernel从BSD发展而来,继承了*nix下经典的user-adn-owner-security模型。相比CLI,苹果的界面需要更为复杂的授权机制。于是他引入原创 2011-07-08 10:53:54 · 826 阅读 · 0 评论 -
MacOS上计算目录大小
记得曾经在Windows上做开发时,计算目录的大小需要递归地计算子目录和子文件。现在转到MacOS,操作系统依然没提供相关api (用Finder查看根目录的属性,你会发现在目录大小一列会等很久,这跟Windows上表现一样)。但是,每个人写的这个递归程序都不一定完全相同。今天在原创 2011-07-12 18:39:19 · 1501 阅读 · 0 评论 -
Mac OS X 命令行调试工具
ToolDocumentationSummarygdbmanual page, Debugging with GDBCommand line debuggerdtracemanual pageDynamic, comprehensive and sophi原创 2012-08-21 11:01:34 · 4993 阅读 · 0 评论 -
如何用xcode调试dylib
近日,需要在Xcode通过另一app来调试某dylib。此前采用的方法是新建一测试工程,再通过此测试工程单步进入后下断点。现在的情况是,有个界面app,但是没有源码,需要通过它来启动我们的dylib。在网上搜索多次无果,想起原来在vs下,调试dll可以手动指定运行的exe,想必xcode也有。找了下,果然也有。选择菜单 Product->Edit Scheme, 在Run 一栏中,原创 2012-09-26 20:24:31 · 4497 阅读 · 0 评论 -
Nerver use NSNumber as keys in Dictionary when Serialize
Nerver use NSNumber as keys in Dictionary when Serialize作者:ani di版权所有,转载请注明出处blog.youkuaiyun.com/ani_di如果你的NSDictionary中有包含NSNumber的Key,那么在序列化此字典时你会莫名其妙的失败。像这样 NSMutableDictionary* dic =原创 2013-02-21 19:36:34 · 688 阅读 · 0 评论 -
动态实例变量:解决脆弱的基类问题
原文链接:http://www.cocoawithlove.com/2010/03/dynamic-ivars-solving-fragile-base.html 作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_di动态实例变量:解决脆弱的基类问题在现代Objective-C运行时(iPhone OS或64位Mac OS X),你翻译 2013-04-12 20:36:34 · 2321 阅读 · 0 评论 -
在一个xib中添加多个Controller
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_di在一个xib中添加多个Controller传统上,对于单个xib或窗口,我们都使用一个Controller做集中式管理。当窗口越来越复杂,内容越来越多。有必要拆分Controller,避免Controller过于臃肿。如何添加Controller给一个xib添原创 2013-04-14 12:32:57 · 2417 阅读 · 0 评论 -
Thinking about KVC/KVO
作者:ani_di 版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_diThinking about KVC/KVO1. 什么是KVC/KVOKVO:Key-Value Observing KVC:Key-value coding2. 如何使用Key-value由NSObject实现,因此所以ObjC的对象都可原创 2013-04-14 19:10:44 · 888 阅读 · 0 评论 -
NSLog对与错
作者:ani_di版权所有,转载务必保留此链接 http://blog.youkuaiyun.com/ani_diNSLog对与错日志这个东西可以说每个开发者都在使用。在调试器不那么先进的时代,日志几乎是解决bug的唯一手段。即使到了今天,printf恐怕还是代码调试的首先方案。随着日志在代码中广泛使用,大家发现日志打印太多,要找到自己需要的很麻烦;另一方面,软件在发布后,不太喜欢原创 2013-12-05 15:40:04 · 1284 阅读 · 0 评论