iOS开发
black-heart
全栈工程师,现专注于Python后端,业余研究HTML5、JavaScript、Go...
Github: https://github.com/black-heart
Iteye: http://grayheart.iteye.com/
展开
-
ld: library not found for -lXXXXX 编译问题的三个解决方法
ld: library not found for -lXXXXX 的解决方法 团队开发的时候每次更新后都有可能碰到各种各样的问题,昨天同事对项目结构做了些修改,更新后编译就遇到下面的情况: ld: library not found for -lAFNetworking 这个错误是说编译时找不到AFNetworking这个链接库,但是我在项目代码中找到对引用原创 2016-02-20 11:29:05 · 11376 阅读 · 2 评论 -
iOS 静态库开发的那些坑 。注意事项
1、bitcodehttp://www.jianshu.com/p/68f092d62f69 2、文件名冲突这种情况一般都是文件里面使用C语言定义的全局变量名或是函数名,在导入的时候因为重复产生了冲突。http://www.cnblogs.com/rayshen/p/5160218.htmlhttp://blog.csdn.net/sxn4245608/article/de...原创 2018-09-20 20:11:38 · 392 阅读 · 0 评论 -
iOS URL Schemes
整理下可能会用到的 URL Schemes http://wiki.akosma.com/IPhone_URL_Schemes http://www.zhihu.com/question/19907735 在代码中调用如下代码:NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"];[[UIApplication ...原创 2018-09-20 20:12:30 · 241 阅读 · 0 评论 -
(原创)iOS开发 兼容 IPv6-only网络
苹果前段时间宣布从2016年6月1日起,App Store将实施全新策略,届时所有提交至苹果App Store的iOS应用申请必须要兼容面向硬件识别和网络路由的最新互联网协议–IPv6-only标准。因为可能会影响之后的上架,这两天花了些时间好好看了下相关的东西。大概整理如下:如何兼容IPV61. 使用更高层次的网络API(Use High-Level Networking F...2016-05-17 18:04:07 · 176 阅读 · 0 评论 -
(转)Xcode 的警告warning 和 错误 error 的解决方法
转发,没有找到原文的出处。1,警告:“xoxoxoxo” is deprecated解决办法:查看xoxoxoxo的这个方法的文档,替换掉这个方法即可。2,警告:Declaration of "struct sockaddr" will not be visible outside of this function解决办法:在你的开源.m文件中添加 #import <netinet...原创 2016-05-26 14:45:39 · 1415 阅读 · 0 评论 -
(转)Xcode因为证书问题经常报的那些错
去年才开始做 iOS开发的时候,因为证书问题 Xcode 经常报这样或那样的错,经过一年多的实践,现在看见 Xcode 报错已经心平气和了,经常报的错就那么多,整理一下。1、 确认下证书是不是开发证书,如果是发布证书就会出现这样的提示。2、 证书失效了,去开发者中心重新生成一个。3、 包标识符不与描述文件包含的包标识符不一致,按照它的提示换一...原创 2016-05-30 19:40:03 · 189 阅读 · 0 评论 -
(原创)ld: library not found for -lXXXXX 编译问题的解决方法
ld: library not found for -lXXXXX 的解决方法 团队开发的时候每次更新后都有可能碰到各种各样的问题,昨天同事对项目结构做了些修改,更新后编译就遇到下面的情况: ld: library not found for -lAFNetworking 这个错误是说编译时找不到AFNetworking这个链接库,但是我在项目代码中找到对引用的地方,...2016-02-20 10:57:36 · 3447 阅读 · 4 评论 -
(原创)iOS 根据百分比获得渐进色 由绿到红
根据red,green,blue三原色的不同数值组合,可以得到不同颜色。将百分比作为参数,控制某两种颜色的值,就可以得到两种颜色的渐进色。以获得由绿到蓝的渐进色为例:- (UIColor*)getColorByPercent:(double)percent { NSInteger r = 0; NSInteger g = 0; NSInteger ...2016-02-26 16:06:39 · 450 阅读 · 0 评论 -
(原创)Xib 图片模拟器显示真机不显示
最近项目换了新的欢迎页,我们用的是Xib,原来使用的是一张大图,现在是白色背景加几张图片。本来以为分分钟的事情,结果遇到了问题。 在去掉原来的UIImageView,新增两个UIImageView并添加对应的图片后,我在模拟器中试了6P,真机试了4s和5,都没有问题,但是用真机6s测试的时候,图片确一直没有出来。首先我先给图片加了底色,判断出xib正常加载了,UIImageView的...2016-03-29 17:28:47 · 314 阅读 · 0 评论 -
强制去除xcode的编译警告
没有找到最原始的出处,只看到很多博客有转载在使用xcode进行iphone应用开发时,经常需要添加一些第三方的类库,而一些第三方的类库由于缺少维护,从而导致类库中含有各种警告和各种内存泄漏,但并不影响运行.倘若我们需要用到第三方库,而由不想在代码分析时看到这些库的警告或内存泄漏,我需要这样做: #pragma clang diagnostic push #pragma clang d转载 2017-04-24 11:23:14 · 769 阅读 · 0 评论 -
Object 获取对象的引用计数(retain count)
MRC可以直接获取对象的引用计数,像这样NSLog(@"%lu",obj.retainCount);ARC下引用计数由编译器自动管理,不能够直接获取,所以上面的方式不能用了。可以用下面的几种方法://1、利用KVC获取 [obj valueForKey:@"retainCount"]; //2、使用私有APIOBJC_EXTERN int _objc_rootRetainCou原创 2016-09-26 14:42:02 · 5888 阅读 · 0 评论 -
ObjectC宏定义中#号和##号的使用
在技术群中有人提了一个问题:如何定义一个宏,打印传递过来的参数的地址。这很简单,像下面这样#define pl(param) NSLog(@"参数地址---%p",param)这样调用 pl(self) 将会打印 参数地址---0xXXXXXXXX在此基础上,提问的人希望调用 pl(self)打印出self参数地址---0xXXXXXXXX这时就...原创 2016-08-24 11:33:03 · 9603 阅读 · 0 评论 -
iOS 根据百分比获得渐进色 由绿到红
根据red,green,blue三原色的不同数值组合,可以得到不同颜色。将百分比作为参数,控制某两种颜色的值,就可以得到两种颜色的渐进色。以获得由绿到蓝的渐进色为例:Objective-c代码 - (UIColor*)getColorByPercent:(double)percent { NSInteger r = 0; NSIn原创 2016-02-27 11:55:20 · 6596 阅读 · 0 评论 -
performSelector withObject afterDelay 在子线程上调用不运行
如题,这是最近在修改一个数据同步模块时发现的问题。整个数据同步的任务是在App启动后放在一个后台执行的线程中的,执行某个单条数据同步任务成功后,会使用[self performSelector:(nonnull SEL) withObject:(nullable id) afterDelay:(NSTimeInterval)]; 来执行下一个单条数据同步任务。通过调试,发现在执行到原创 2016-06-03 10:15:18 · 4657 阅读 · 0 评论 -
iOS开发UI篇—UIWindow简单介绍
一、简单介绍UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindowiOS程序启动完毕后,创建的第一个视图控件就是UIWindow,接着创建控制器的view,最后将控制器的view添加到UIWindow上,于是控制器的view就显示在屏幕上了一个iOS程序之所以能显示到屏幕上,完全是因为它有UIWindow。也就说,没有UIWindow,就看不见任何UI界转载 2016-07-14 15:34:55 · 2660 阅读 · 0 评论 -
从Immutable来谈谈对于线程安全的理解误区
毫不夸张的说,80%的程序员对于多线程的理解都是浅陋和错误的。就拿我从事的iOS行业来说,虽然很多程序员可以对异步、GCD等等与线程相关的概念说的天花乱坠。但是实质上深挖本质的话,大多数人并不能很好的区分Race Condition,Atomic,Immutable对象在线程安全中真正起到的作用。所以今天就以这篇文章来谈谈我所理解的线程安全。首先就允许我从Immutable来开始整转载 2016-07-15 15:33:21 · 6139 阅读 · 1 评论 -
Objective-C 非主流代码技巧
我是前言看开源代码时,总会看到一些大神级别的代码,给人眼前一亮的感觉,多数都是被淡忘的C语言语法,总结下objc写码中遇到的各类非主流代码技巧和一些妙用:[娱乐向]objc最短的方法声明[C]结构体的初始化[C]三元条件表达式的两元使用[C]数组的下标初始化[objc]可变参数类型的block[objc]readonly属性支持扩展的写法[C]小括号内联复合表达式[娱乐向]奇葩的C转载 2016-07-12 16:33:40 · 3035 阅读 · 0 评论 -
App 应用托管平台
很多时候应用开发好了,我们需要发给部分用户内测,这时候就需要用到一些应用托管平台。现在整理下已知的几个。1、蒲公英 https://www.pgyer.com/ 这个是我们公司现在正在用的,用起来还算比较方便,但是专家测试之类的服务都是收费的。2、云测 Pre http://pre.im/ 这个是网上很多人推荐的,看网页感觉很厉害的样子,功能原创 2016-06-02 11:19:03 · 6327 阅读 · 0 评论 -
25条提高iOS App性能的技巧和诀窍 (部分内容重新翻译校对)
本文是网上一篇外文译文(http://www.open-open.com/lib/view/open1365861753734.html)的二次校对版本。原译文的的知识点翻译本身没问题,只是在阅读过程中发现很多语句不通的问题,所以重新做了校对,方便之后查阅。——black-heart 这篇文章来自iOS Tutorial Team 成员 Mar翻译 2016-09-13 09:56:26 · 1524 阅读 · 0 评论 -
(原创)performSelector withObject afterDelay 在子线程上调用不运行
如题,这是最近在修改一个数据同步模块时发现的问题。整个数据同步的任务是在App启动后放在一个后台执行的线程中的,执行某个单条数据同步任务成功后,会使用[self performSelector:(nonnull SEL) withObject:(nullable id) afterDelay:(NSTimeInterval)]; 来执行下一个单条数据同步任务。通过调试,发现在执行...2016-04-11 11:23:29 · 184 阅读 · 0 评论