自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(75)
  • 资源 (1)
  • 收藏
  • 关注

转载 XCode环境变量及路径设置

一般我们在xcode里面配置包含工程目录下头文件的时候,都要关联着相对路径和绝对路径,如果只是自己用这个项目,用绝对路径的问题不大,但是如果你把工程发给别人,别人就要在改这个绝对路径,这时候绝对路径的缺点立马出现。 所以在修改User Header Search Paths这个选项的时候使用"$(SRCROOT)/当前工程名字/需要包

2016-11-10 16:48:27 3431

转载 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

转载 WinHttp编程初步心得

代码都在下面了,目前这个版本实现的功能还非常的少,能实现的有:1. GET方法。给定一个URL(可以带中文),返回http的响应数据,包括文本和二进制数据2. 支持代理服务器,需要用户预先设定好proxy server ip, port, username, password.不支持的有:1. POST2. 查询http响应的header。3. 将返回的文本数据重新

2016-08-12 15:23:54 4147

转载 iOS设备唯一标识探讨

首先iOS中获取设备唯一标示符的方法一直随版本的更新而变化。iOS 2.0版本以后UIDevice提供一个获取设备唯一标识符的方法uniqueIdentifier,通过该方法我们可以获取设备的序列号,这个也是目前为止唯一可以确认唯一的标示符。好景不长,因为该唯一标识符与手机一一对应,苹果觉得可能会泄露用户隐私,所以在 iOS 5.0之后该方法就被废弃掉了;iOS 6.0系统新增了两个用于替换uni

2016-05-16 15:29:55 2270

原创 dequeueReusableCellWithIdentifier 总是返回nil

如果创建cell 的时候同时 创建了 xib, 那么首先 检查 xib 中的 Identifier, 这一项的值必须要和 代码中的 identifier 一致(如下图),否则,  dequeueReusableCellWithIdentifier总是会返回空,   var cell :UITableViewCell? = tableView.dequeueReusableCellWit

2016-05-11 15:18:21 2354

转载 UITableView的两种重用Cell方法的区别

UITableView中有两种重用Cell的方法:Ios代码  - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier;  - (id)dequeueReusableCellWithIdentifier:(NSString *)identifier forIndexPath:(NSIndexPat

2016-05-10 16:25:47 4197

原创 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 11154

原创 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

原创 NSDateFormatter夏令时问题

在使用 NSDateFormatter 获取 NSDate 时, 竟然遇到某些特殊的日期返回了nil,在一番搜索后,发现是夏令时问题, NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; formatter.dateFormat = @"yyyyMMdd"; NSDate* date = [forma

2016-04-12 14:16:46 1728

转载 正则表达式的几种字符判断(包括数字,字母组合等)

function isdata(s)   {   var patrn=/^[0-9]{1,20}$/;   if (!patrn.exec(s)) return false   return true   }  "^[0-9]*[1-9][0-9]*$"  //正整数   "^((-\\d+)|(0+))$"  //非正整数(负整数 + 0)   "^-[0-9

2016-03-18 15:16:24 7183

转载 移动端web开发技巧汇总

移动端web开发技巧汇总与经验分享,已经涵盖了web移动端开发的方方面面,web移动端开发不可多得的干货,值得一看。META相关1. 添加到主屏后的标题(IOS)2. 启用 WebApp 全屏模式(IOS)3. 百度禁止转码通过百度手机打开网页时,百度可能会对你的网页进行转码,往你页面贴上它的广告,非常之恶心。不过我们可以通过这个me

2016-03-03 11:38:33 2248

转载 DIV+CSS的命名规则

搜索引擎优化(seo)有很多工作要做,其中对代码的优化是一个很关键的步骤。为了更加符合SEO的规范,下面是目前流行的CSS+DIV的命名规则:页头:header登录条:loginBar标志:logo侧栏:sideBar广告:banner导航:nav子导航:subNav菜单:menu子菜单:subMenu搜索:searc

2016-03-03 11:32:10 542 1

转载 JSONP跨域GET请求

在页面开发中遇到错误提示“No 'Access-Control-Allow-Origin' header is present on the requested resource.”查了下度娘,这个问题和安全机制有关,默认不允许跨域调用,这里记录一下解决方案,防止以后再犯相同的错误。调用web接口,get请求,发现提示:No 'Access-Control-Allow-Origin'

2016-02-25 15:45:17 3134

转载 一步一步分析新建App启动过程

笔者接触IOS大概半年的时间,可以说能够开发App,但是又有很多不足的地方,因此打算写一些技术文章,能够达到温故而知新的效果,难免会有错误或者遗漏,也希望各位看官不吝指教。另外宣传一下刚建立的群“IOS菜鸟到高手之路”,312747764,欢迎希望交流分享的人加入。1、IOS系统的简单说明IOS与Mac OS X以及安卓一样都属于类UINX系统,然而熟悉类UNIX系统的人可能会失望的是

2016-02-18 11:21:29 858

原创 模拟器调试正常,直接运行闪退

在使用了 三方动态库的工程中,如果模拟器调试正常,直接运行闪退,在真机调试报如下错误,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 5266

转载 swift class与struct 区别

1. 核心区别是struct使用的时候是copy的, class使用的时候是引用的报错是因为, struct为值类型,  要想用它的方法修改属性数据,就必须在方法前面加上mutating关键词  结构体和枚举都是值类型的,默认情况下,值类型的属性是不能从它的实例方法内部改变的。  如果想要在实例方法里面修改结构体或者枚举的属性值的话,就需要使用mutating关键词特殊处理  

2016-02-12 22:15:15 2052

转载 JavaScriptCore 简易使用

JavaScriptCoreiOS7之后苹果推出了JavaScriptCore这个框架,从而让web页面和本地原生应用交互起来非常方便,而且使用此框架可以做到Android那边和iOS相对统一,web前端写一套代码就可以适配客户端的两个平台,从而减少了web前端的工作量。web前端在三端交互中,web前端要强势一些,一切传值、方法命名都按web前端开发人员来定义,让另外两端

2016-01-27 17:34:54 2905

转载 JavaScriptCore 简介

Integrating JavaScript into Native ApplicationsJavaScriptCore 简介iOS7 中新加入的 JavaScriptCore.framework 可能被大多数开发人员所忽略,但是如果你之前就在项目中用过自己编译JavaScriptCore来处理 JavaScript,那么你需要重新关注一下 JavaScriptCore.fr

2016-01-27 17:21:54 2279

原创 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

转载 如何从 Xcode 控制台输出 JavaScript 的 log?

调试 UIWebView 中的 JavaScript 一直以来都是很痛苦的一件事。通常我们会通过下面的方法调试 HTML 和 JavaScript。1、第一种,使用桌面浏览器调试。大多数现代浏览器都有功能强大的调试器,可以通过 console.log() 方法进行调试。2、如果桌面浏览器不能追踪到这些 log,我们可以从 Xcode 启动 iOS 模拟器,运行我们的 app。然后,

2016-01-04 17:39:03 973

转载 ios工程图片资源注意点

需要注意的是图片的处理,在工程中有一个文件夹是供特殊的图片文件而设立的,你不能把所有的图片都塞到这里,这个不科学。最好还是放在Assets.xcassets中,那么到底是哪些图片呢?在有些项目中,大量使用了全屏的背景图片,这样的图片我们一定不能使用[UIImage imageNamed:@"imageName"]的方式加载,因为这个方法会把图片直接缓存到内存中,试想一下,如果很多张图片都塞进内存是

2015-12-07 09:58:42 2337

转载 引用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

转载 Xcode 6制作动态及静态Framework

创建iOS动态库新建工程并选择默认Target为Cocoa Touch Framework, 如图:做编码工作,在这里我简单的写了一个Utils的类,并写了一个log方法设置开放的头文件:Framework中有些类可能是一些私有的辅助工具,不需要使用者看到,在这里只需要把开放出去的类放到Public下, 如图这样生成的Framework的Headers目录下也只能看

2015-10-08 16:39:48 372

转载 如何选择Blocks还是Delegates

看了一篇大神总结的文章, 归纳出以下几点:      Apple声明方法时有很好的命名习惯(这也是我们精通iOS开发的一项必备技能)。例如:一个以NSString为参数的方法,方法的selector就会有String字眼,像initWithString;dateFromString;StartSpeaingString。当Apple的方法使用block,这个方法将会有“Handler”,“Co

2015-09-25 13:42:24 518

转载 记录 iOS 与 Android 生命周期对比

iOS 的应用生命周期Android Activity 的声明周期应用第一次启动时:iOS:Android:应用进入后台iOSAndroid应用从后台进入前台iOSAndroid完全退出应用iOSAndroidAndroid 中的 Activity 有点类似 iOS 中的 UIViewCon

2015-09-25 11:06:00 482

原创 UISearchDisplayController 异步搜索

1. 加载 UISearchDisplayController_searchBar.delegate = self;    [_searchBar setPlaceholder:@"搜索"];    [_searchBar setSearchFieldBackgroundImage:ImageN(@"search_background") forState:(UIControlSt

2015-09-23 16:44:13 622

原创 View下Clip Subviews

Show the attributes inspector中View下Clip Subviews作用。Opaque :  如果选择 ,则此视图后的任何内容都不应绘制。Clip subviews:如果你的视图有子视图,并且这些子视图并不是完全包含在父视图中,则此复选框将确定子视图的绘制方式,如果选中了ClipSubviews,只有在父视图范围内的子视图被绘制出来。如果未选中Clip

2015-09-06 11:30:02 3265

原创 ios与js 交互

1. oc 驱动 js 最重要的方法: stringByEvaluatingJavaScriptFromString- (void)webViewDidFinishLoad:(UIWebView *)webView { //1.OC中调用JS的文档对象. (先拼出文档对象的属性) 可以在浏览器控制台输入来进行测试 NSLog(@"%@", [self.webView st

2015-09-01 15:00:16 662

转载 UIWebView与JS的交互

- (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script 和JS简易交互的方法,参见我另一篇博客直到我在Github上看到了WebViewJavascriptBridge 这个用于UIWebView/WebViews和JS交互的封装库。一开始,我们在Native端和JS端都分别

2015-08-21 11:26:46 491

转载 smartSvn .a文件提交方法

昨天在提交文件到svn的时候遇到一个问题,因为我用的是smartsvn客户端(version客户端类似),一些.a文件无法识别,也就无法提交到svn!解决办法如下:在smartsvn客户端下面view->Ignored Files 勾选上就ok(version客户端类似操作)

2015-01-14 11:07:09 9843 1

转载 使用 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

转载 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

转载 已知程序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

转载 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

转载 kvo 的一点记录

observeValueForKeyPath:ofObject:change:context:调用方法是里:   object : 被观察对象  observer: 观察对象  forKeyPath里面带上property的name,如UIView的frame、center等等  options: 有4个值,分别是:  NSKeyValueObservingOption

2014-01-22 15:26:27 759

转载 关于程序员的59条搞笑但却真实无比的语录

总结的很经典,而且翻译的也有种深深的幽默感在里面,赞 程序员编程语录 1. 一个好的程序员是那种过单行线马路都要往两边看的人。(Doug Linder) 2. 程序有问题时不要担心。如果所有东西都没问题,你就失业了。(软件工程的Mosher定律) 3. 程序员的麻烦在于,你无法弄清他在捣腾什么,当你最终弄明白时,也许已经晚了。(超级计算机之父Seymour Cray)

2013-12-26 11:15:50 1546

原创 ios转义url中特殊符号与简单的 js 例子

1.  转义 url 中 特殊字符     NSString *newString = [NSMakeCollectable(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef)string, NULL, CFSTR("#[]@!$ &'()*+,;\"<>%{}|\\^~`"), CFS

2013-11-05 17:04:32 5384

转载 ios7屏幕适配

第一步 在项目的Info.plist 文件中 添加一行属性配置View controller-based status bar appearance =NO这个设置为:View Controller 不对status Bar 显示进行操作if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 7) {  

2013-10-22 16:57:01 2087

原创 加载zxing的几个记录点

项目中要用到二维码扫描,在使用中遇到的几个问题记录一下,解决方法均来自于网络1. 如果是ios 平台 我们只需要保留cpp和iphone这2个文件夹, 对于cpp这个目录,只保留cpp/core/src/zxing下面的内容,其余内容也可以删掉了。 头文件包含的设置: ./zxing/iphone/ZXingWidget/Classes    (recursiv

2013-10-15 17:04:17 721

转载 生成APNS Service证书的步骤

在Mac上生成 Apple推送通知SSL证书:登录到 iPhone Developer Connection Portal 并点击 App IDs创建一个不使用通配符的 App ID 。通配符 ID 不能用于推送通知服务。例如,我们的iPhone程序ID像这样:  AB123346CD.com.serverdensity.iphone点击App ID旁的“Configure”,然后按下按钮

2013-09-29 16:35:50 4723

jthread_linux

一个关于pthread的开源类

2012-03-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除