
ios
longzs
这个作者很懒,什么都没留下…
展开
-
XCode环境变量及路径设置
一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的缺点立马出现。 所以在修改User Header Search Paths这个选项的时候使用"$(SRCROOT)/当前工程名字/需要包转载 2016-11-10 16:48:27 · 3431 阅读 · 0 评论 -
如何从 Xcode 控制台输出 JavaScript 的 log?
调试 UIWebView 中的 JavaScript 一直以来都是很痛苦的一件事。通常我们会通过下面的方法调试 HTML 和 JavaScript。1、第一种,使用桌面浏览器调试。大多数现代浏览器都有功能强大的调试器,可以通过 console.log() 方法进行调试。2、如果桌面浏览器不能追踪到这些 log,我们可以从 Xcode 启动 iOS 模拟器,运行我们的 app。然后,转载 2016-01-04 17:39:03 · 973 阅读 · 0 评论 -
UISearchDisplayController 异步搜索
1. 加载 UISearchDisplayController_searchBar.delegate = self; [_searchBar setPlaceholder:@"搜索"]; [_searchBar setSearchFieldBackgroundImage:ImageN(@"search_background") forState:(UIControlSt原创 2015-09-23 16:44:13 · 622 阅读 · 0 评论 -
引用framework 类别方法奔溃问题
解决方法为:找到 target 的图标,更改其 Other Linker Flags 为: -all_load 或 -force_load-force_load,后跟随一个文件位置,可以更精确地加载所需文件。 苹果的解释为 : http://developer.apple.com/library/mac/#qa/qa1490/_index.html 简单点说就是,Objecti转载 2015-10-09 18:23:44 · 696 阅读 · 0 评论 -
Xcode 6制作动态及静态Framework
创建iOS动态库新建工程并选择默认Target为Cocoa Touch Framework, 如图:做编码工作,在这里我简单的写了一个Utils的类,并写了一个log方法设置开放的头文件:Framework中有些类可能是一些私有的辅助工具,不需要使用者看到,在这里只需要把开放出去的类放到Public下, 如图这样生成的Framework的Headers目录下也只能看转载 2015-10-08 16:39:48 · 372 阅读 · 0 评论 -
UIWebView与JS的交互
- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script 和JS简易交互的方法,参见我另一篇博客直到我在Github上看到了WebViewJavascriptBridge 这个用于UIWebView/WebViews和JS交互的封装库。一开始,我们在Native端和JS端都分别转载 2015-08-21 11:26:46 · 491 阅读 · 0 评论 -
记录 iOS 与 Android 生命周期对比
iOS 的应用生命周期Android Activity 的声明周期应用第一次启动时:iOS:Android:应用进入后台iOSAndroid应用从后台进入前台iOSAndroid完全退出应用iOSAndroidAndroid 中的 Activity 有点类似 iOS 中的 UIViewCon转载 2015-09-25 11:06:00 · 484 阅读 · 0 评论 -
如何选择Blocks还是Delegates
看了一篇大神总结的文章, 归纳出以下几点: Apple声明方法时有很好的命名习惯(这也是我们精通iOS开发的一项必备技能)。例如:一个以NSString为参数的方法,方法的selector就会有String字眼,像initWithString;dateFromString;StartSpeaingString。当Apple的方法使用block,这个方法将会有“Handler”,“Co转载 2015-09-25 13:42:24 · 518 阅读 · 0 评论 -
View下Clip Subviews
Show the attributes inspector中View下Clip Subviews作用。Opaque : 如果选择 ,则此视图后的任何内容都不应绘制。Clip subviews:如果你的视图有子视图,并且这些子视图并不是完全包含在父视图中,则此复选框将确定子视图的绘制方式,如果选中了ClipSubviews,只有在父视图范围内的子视图被绘制出来。如果未选中Clip原创 2015-09-06 11:30:02 · 3265 阅读 · 0 评论 -
ios与js 交互
1. oc 驱动 js 最重要的方法: stringByEvaluatingJavaScriptFromString- (void)webViewDidFinishLoad:(UIWebView *)webView { //1.OC中调用JS的文档对象. (先拼出文档对象的属性) 可以在浏览器控制台输入来进行测试 NSLog(@"%@", [self.webView st原创 2015-09-01 15:00:16 · 662 阅读 · 0 评论 -
smartSvn .a文件提交方法
昨天在提交文件到svn的时候遇到一个问题,因为我用的是smartsvn客户端(version客户端类似),一些.a文件无法识别,也就无法提交到svn!解决办法如下:在smartsvn客户端下面view->Ignored Files 勾选上就ok(version客户端类似操作)转载 2015-01-14 11:07:09 · 9843 阅读 · 2 评论 -
使用 lipo -create 合并.a文件
lipo -create /Users/Travis/Desktop/libIMIUI.d.a /Users/Travis/Desktop/libIMIUI.s.a -output /Users/Travis/Desktop/libIMIUI.a转载 2014-08-14 17:02:23 · 7769 阅读 · 0 评论 -
other linker flags 记录
Targets选项下有Other linker flags的设置,用来填写XCode的链接器参数,如:-ObjC -all_load -force_load等。还记得我们在学习C程序的时候,从C代码到可执行文件经历的步骤是:源代码 > 预处理器 > 编译器 > 汇编器 > 机器码 > 链接器 > 可执行文件在最后一步需要把.o文件和C语言运行库链接起来,这时候需要用到ld命令。源文件经转载 2014-07-31 14:06:10 · 628 阅读 · 0 评论 -
ios工程图片资源注意点
需要注意的是图片的处理,在工程中有一个文件夹是供特殊的图片文件而设立的,你不能把所有的图片都塞到这里,这个不科学。最好还是放在Assets.xcassets中,那么到底是哪些图片呢?在有些项目中,大量使用了全屏的背景图片,这样的图片我们一定不能使用[UIImage imageNamed:@"imageName"]的方式加载,因为这个方法会把图片直接缓存到内存中,试想一下,如果很多张图片都塞进内存是转载 2015-12-07 09:58:42 · 2337 阅读 · 0 评论 -
JavaScript values and Objective-C objects
@textblock Objective-C type | JavaScript type --------------------+--------------------- nil | undefined NSNull | null NSString | str原创 2016-01-27 11:35:43 · 471 阅读 · 0 评论 -
Mac OS 10.12系统cocoapods安装
从git上下载的项目运行后:The file “Pods.xcconfig” couldn’t be opened because there is no such file.1、检查当前ruby版本$gem sources -成功后提示:*** CURRENT SOURCES ***https://ruby.taobao.org/否则,移除现有的ruby:$gem sou转载 2016-10-10 15:58:30 · 3997 阅读 · 0 评论 -
iOS设备唯一标识探讨
首先iOS中获取设备唯一标示符的方法一直随版本的更新而变化。iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifier,通过该方法我们可以获取设备的序列号,这个也是目前为止唯一可以确认唯一的标示符。好景不长,因为该唯一标识符与手机一一对应,苹果觉得可能会泄露用户隐私,所以在 iOS 5.0之后该方法就被废弃掉了;iOS 6.0系统新增了两个用于替换uni转载 2016-05-16 15:29:55 · 2270 阅读 · 0 评论 -
dequeueReusableCellWithIdentifier 总是返回nil
如果创建cell 的时候同时 创建了 xib, 那么首先 检查 xib 中的 Identifier, 这一项的值必须要和 代码中的 identifier 一致(如下图),否则, dequeueReusableCellWithIdentifier总是会返回空, var cell :UITableViewCell? = tableView.dequeueReusableCellWit原创 2016-05-11 15:18:21 · 2354 阅读 · 0 评论 -
ios面试题收集 (不定期更新)
1. tableview的内存使用注意事项2. 网络图片加载流程及注意事项3. ffmpeg代码层面的问题4. mrc和arc下block的内存分配差别这个问题也可以描述为 block一般用那个关键字修饰,为什么? block一般使用copy关键之进行修饰,block使用copy是从MRC遗留下来的“传统”,在MRC中,方法内容的block是原创 2016-04-26 16:51:38 · 453 阅读 · 0 评论 -
xcode archive 后没有dsym文件
最近遇到一个 奇怪问题, 在 最新版xcode (7.3)打包后,竟然没有生成对应的 dsym 文件, google 了一番, ,找了一些 解答,如下: You can download the correct dSYM from iTunes Connect. Login, go to My Apps, select your app, then tap on the A原创 2016-04-28 11:33:24 · 11155 阅读 · 0 评论 -
UITableView的两种重用Cell方法的区别
UITableView中有两种重用Cell的方法:Ios代码 - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier; - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPat转载 2016-05-10 16:25:47 · 4197 阅读 · 0 评论 -
NSDateFormatter夏令时问题
在使用 NSDateFormatter 获取 NSDate 时, 竟然遇到某些特殊的日期返回了nil,在一番搜索后,发现是夏令时问题, NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyyMMdd"; NSDate* date = [forma原创 2016-04-12 14:16:46 · 1729 阅读 · 0 评论 -
JavaScriptCore 简易使用
JavaScriptCoreiOS7之后苹果推出了JavaScriptCore这个框架,从而让web页面和本地原生应用交互起来非常方便,而且使用此框架可以做到Android那边和iOS相对统一,web前端写一套代码就可以适配客户端的两个平台,从而减少了web前端的工作量。web前端在三端交互中,web前端要强势一些,一切传值、方法命名都按web前端开发人员来定义,让另外两端转载 2016-01-27 17:34:54 · 2905 阅读 · 0 评论 -
一步一步分析新建App启动过程
笔者接触IOS大概半年的时间,可以说能够开发App,但是又有很多不足的地方,因此打算写一些技术文章,能够达到温故而知新的效果,难免会有错误或者遗漏,也希望各位看官不吝指教。另外宣传一下刚建立的群“IOS菜鸟到高手之路”,312747764,欢迎希望交流分享的人加入。1、IOS系统的简单说明IOS与Mac OS X以及安卓一样都属于类UINX系统,然而熟悉类UNIX系统的人可能会失望的是转载 2016-02-18 11:21:29 · 859 阅读 · 0 评论 -
模拟器调试正常,直接运行闪退
在使用了 三方动态库的工程中,如果模拟器调试正常,直接运行闪退,在真机调试报如下错误,dyld: Library not loaded: @rpath/xxx.framework/Versions/A/xxx Referenced from: /Users/Ivan/Library/Developer/Xcode/DerivedData/myApp-bsxfcnwqpaxnzbhen原创 2016-02-18 11:11:11 · 5267 阅读 · 0 评论 -
swift class与struct 区别
1. 核心区别是struct使用的时候是copy的, class使用的时候是引用的报错是因为, struct为值类型, 要想用它的方法修改属性数据,就必须在方法前面加上mutating关键词 结构体和枚举都是值类型的,默认情况下,值类型的属性是不能从它的实例方法内部改变的。 如果想要在实例方法里面修改结构体或者枚举的属性值的话,就需要使用mutating关键词特殊处理转载 2016-02-12 22:15:15 · 2052 阅读 · 0 评论 -
JavaScriptCore 简介
Integrating JavaScript into Native ApplicationsJavaScriptCore 简介iOS7 中新加入的 JavaScriptCore.framework 可能被大多数开发人员所忽略,但是如果你之前就在项目中用过自己编译JavaScriptCore来处理 JavaScript,那么你需要重新关注一下 JavaScriptCore.fr转载 2016-01-27 17:21:54 · 2279 阅读 · 0 评论 -
好的blog收藏
1.http://2015.iteye.com/ 一个苹果开发例子比较多的blog2.http://donbe.blog.163.com/blog/#m=0 一个绘图讲解好的 blog3.http://www.cnblogs.com/scorpiozj/archive/2011/01/25/1944496.html 讲解 ios 深浅拷贝原创 2012-05-31 10:01:30 · 729 阅读 · 0 评论 -
已知程序crash 地址来分析具体crash 代码
如果是完整的*.crash log,就使用Symbolicatecrash来解析, 使用方法:1. 找到Symbolicatecrash文件Xcode 5.0的之后/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks转载 2014-07-29 16:14:03 · 1481 阅读 · 0 评论 -
Xcode5下解析Crash日志
1. 提取Xcode中自带的CrashReport解析器 symbolicatecrash跟Xcode4时不同,在Xcode5中,此解析器工具的路径发生了变化。全路径如下/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/转载 2014-07-25 14:10:42 · 1082 阅读 · 0 评论 -
xcode4.3 下使用模拟器跑内存检测
今天想在 4.3.3下使用 模拟器跑一下leaks, 找了半天没找到合适的选项, 以前在3下 只要 run with leaks 就可以了。 网上google了下也没有人说,后来在product 下的 profile 下面找到了, 起的名啊。。。。。。。。。。。 ps: 需要现在 scheme 下面设置 对应 profile 编译平台。(debug或者release)。原创 2012-08-27 17:27:26 · 1545 阅读 · 0 评论 -
ios 异常错误分析
1.CodeSign error: code signing is required for product type Application in SDK iOS 4.X 解答:我也遇到过这个问题,最后还是靠自己解决了。Edit Project Setting =》Build =》 Code Signing =》 Any ios 的值设置为iphone Developer如原创 2012-06-19 11:26:16 · 14357 阅读 · 1 评论 -
performSelectorOnMainThread 对参数的引用计数
- (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait当 wait 为 YES 时 arg 在传入前后引用计数不变, 为NO时 arg 引用计数加1, 为autoRelease类型。原创 2012-07-09 18:18:05 · 909 阅读 · 0 评论 -
CGContextAddArcToPoint与CGContextAddArc
这两个函数是绘制圆弧的函数。第一个函数比较好理解,第二个函数让我在纸上画了半天才搞明白,把我的理解给大家分享下。 void CGContextAddArc(CGContextRef c, CGFloat x, CGFloat y, CGFloat radius, CGFloat startAngle, CGFloat endAngle, int clockwise) CGContext转载 2012-06-12 11:18:30 · 3928 阅读 · 1 评论 -
ios后台执行任务详解
在IOS后台执行是本文要介绍的内容,大多数应用程序进入后台状态不久后转入暂停状态。在这种状态下,应用程序不执行任何代码,并有可能在任意时候从内存中删除。应用程序提供特定的服务,用户可以请求后台执行时间,以提供这些服务。判断是否支持多线程UIDevice* device = [UIDevice currentDevice]; BOOL backgroundSupported = NO;转载 2012-06-05 19:13:57 · 6031 阅读 · 1 评论 -
ipad default图片 横屏处理办法
修改对应方向的名字就可以了。Default.pngDefault-LandscapeLeft.pngDefault-LandscapeRight.pngcocos2d+uikit+opengl原创 2012-04-24 10:00:01 · 891 阅读 · 0 评论 -
uiview 知识点记录
1. viewWithTag 方法, tag 不能取 0;2. addsubview 中 如果参数是 成员,不用紧跟着 release,可以在dealloc 中 释放;如果是临时创建,紧跟着释放;3. 通过 uiview 对象找到 包含它的 UIViewController, 使用 [self.superview nextResponder] or [self nextR原创 2012-04-09 11:56:40 · 562 阅读 · 0 评论 -
ios UITapGestureRecognizer 单指单击、单指多击、多指单击、多指多击事件操作
在ios开发中,需用到对于手指的不同操作,以手指点击为例:分为单指单击、单指多击、多指单击、多指多击。对于这些事件进行不同的操作处理,由于使用系统自带的方法通过判断touches不太容易处理,而且会有事件之间的冲突。接下来,通过以UITapGestureRecognizer 手势实现此功能需求代码如下:ViewController.m中的viewDidLoad方法: 1转载 2012-04-13 11:23:35 · 6443 阅读 · 0 评论 -
iOS Icon Design: All Icon Sizes
Different IconsWe’ve already gone over the icon sizes of the home screen icon for iPhone and iPod and even taught you how to create one. It turns out, however, that iOS has a lot more optional icons转载 2012-04-24 11:16:38 · 883 阅读 · 0 评论 -
如何申请ios开发者证书以及生成Provisioning Profiles
下面是比较详尽的一篇帖子: 如何使用iOS开发者授权以及如何申请证书 有几点细节记录一下1. 如果生成 app id 后面不带 .* 如(com.xxx),那么在导入 生成的 profiles 用的标识 就是 (com.xxx),不用在加自己程序的名称了。2.待补充。。。原创 2012-04-23 17:05:12 · 3575 阅读 · 0 评论