- 博客(235)
- 资源 (19)
- 收藏
- 关注
转载 IOS NSTimer在主线程外继续执行
转至:http://blog.youkuaiyun.com/lengshengren/article/details/12905635。我们通常在主线程中使用NSTimer,有个实际遇到的问题需要注意。当滑动界面时,系统为了更好地处理UI事件和滚动显示,主线程runloop会暂时停止处理一些其它事件,这时主线程中运行的 NSTimer就会被暂停。解决办法就是改变NSTimer运行的mode(m
2016-11-09 21:26:48
1384
原创 企业证书描述文件过期的现象
最近遇到了企业证书的描述文件过期不能用的问题。开始不知道什么原因。最终才确定问题。 今天记录下对应的现象。现象1: 运行已经安装好的app ,启动就闪退。根本运行不了。现象2: 用iTools直接安装对应的app,一直安装不成功,提示 ApplicationVerificationFailed 。如下图界面现象3:连接设备,查看打印日志(Xcode 下下Devi
2016-11-09 21:24:46
4649
转载 iOS Crash文件的解析(一)
转至 http://www.cnblogs.com/smileEvday/p/Crash1.html开发程序的过程中不管我们已经如何小心,总是会在不经意间遇到程序闪退。脑补一下当你在一群人面前自信的拿着你的App做功能预演的时候,流畅的操作被无情地Crash打断。联想起老罗在发布Smartisan OS的时候说了,他准备了10个手机,如果一台有问题,就换一台,如果10台后挂了他就不做手
2016-11-09 21:11:07
1130
原创 ios开发连续手机震动(kSystemSoundID_Vibrate连续震动)
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2016-10-12 21:53:51
7382
原创 实战CAGradientLayer 做圆形进度条
CAGradientLayer 主要用于渐变颜色。这次用它做了一个demo。如下图以下是代码//////////////// .h#import @interface CustomRoundPropgressView : UIView { }- (id)initWithFrame:(CGRect)frame BKCo
2016-08-18 22:51:59
1211
转载 iOS提交后申请加急审核
转至:http://blog.youkuaiyun.com/showhilllee/article/details/19541493之前只是听过加急审核这回事,一直也没有用到过。昨天用了下果然很给力。昨天晚上将近8点(北京时间)提交应用,今天早上上班看了下已经通过了审核,而且可以在AppStore里下载到。话说加急的原因比较悲催,年前一直在做老版本的更新(一直在改别人代码的bug),临过年一周
2016-06-01 22:08:01
594
原创 IOS9以上系统请求http报错
在控制台上输入了以下信息:App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.解决方
2016-03-02 21:23:01
1310
原创 mac上使用tcpdump抓iPhone 设备的数据包
使用dump抓包简单又方便.主要是以下几步骤:1.绑定UUIDrvictl -s UUID(iPhone设备的UUID)RVI虚拟接口的命令规则可为rvi0,rvi1,。。。,创建后可以使用以下命令查看是否创建成功 ifconfig rvi02.开始抓包并写入文件(文件放在桌面上)tcpdump -i rvi0 -p -vv -s 0 -w ~/D
2016-02-26 20:37:34
3168
原创 摄像头视频流畅性和延时问题的处理
曾经做过一个关于摄像头视频方面的项目.在这个项目中遇到了两个麻烦的问题,特记录下来.视频的流畅性问题: 首先说下我的结构: 主要分三部分: 上层:ffmpeg解码+UI渲染 中层:循环buffer缓存视频数据(单独的一个线程) 底层:视频数据接收(单独的一个线程)对于这个流畅性问
2015-12-20 21:53:01
16748
6
原创 实战ffmpeg2.8.3+X264的编译
最新的ffmpeg已经是2.8.3版本了.加上所在的项目需要使用H264.所以有如题所示的需求.环境: 系统: MAC OS X EI Captitan (10.11.1) Xcode: 7.1X264的编译 还是参考http://blog.sina.com.cn/s/blog_47522f7f0102vcbj.html的方式.(1)首先到http://w
2015-12-20 21:25:27
2638
原创 iphone6 plus以下设备适配经验总结
首先要明白App程序在iphone4s,iphone5s和iphone6以及iphone6 Plus等设备是需要启动不同的设备模式才能实现适配的. 即本来[UIScreen mainScreen].bounds.size.width的值在iphone5s上应该是320,iphone6 上是375,iPhone 6 plus 上为414.如果在app没有选择启动模式的话,[UIScreen main
2015-07-29 22:19:59
1989
原创 Xcode 编译链接问题汇总(持续更新中....)
编写程序时,经常会用到别人已经写好的模块(模块的形式不同:有些是以静态库方式提供,有些提供C语言的接口,有些提供C++的接口).所以在链接的时候经常遇到一些问题,特记录下首先要明白一个道理:.m文件只能识别OC,C语言; 即模块是OC或C语言编写的,就一般使用.m文件就可以了..mm文件是针对OC,C和C++三语音的; 注意模块是C++实现的,就不能在使用.m文件,要使用.mm
2015-05-27 16:25:59
8470
转载 Linux多线程编程 - sleep 和 pthread_cond_timedwait
转至:http://www.cnblogs.com/qingxia/archive/2012/08/30/2663791.html#include #include int flag = 1;void * thr_fn(void * arg) { while (flag){ printf("******\n"); sleep(1
2015-05-15 16:07:14
832
转载 AFNetworking 用法
转至:https://github.com/AFNetworking/AFNetworking/1.GET请求,将参数直接写在访问路径上。操作简单,不过容易被外界看到,安全性不高,地址最多255字节;例子:格式:http://example.com/resources.json?key=ValueAFHTTPRequestOperationManager *manager = [A
2015-05-04 10:43:52
3393
转载 HTTP 1.0 四种常见的 POST 提交数据方式
转至:https://www.imququ.com/post/four-ways-to-post-data-in-http.htmlHTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道
2015-05-04 10:16:21
4879
原创 一个Linux下多线程Demo
#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include ty
2015-04-29 16:23:27
1093
原创 ffmpeg2.6.2的使用过程和使用中发现的问题
我的环境Xcode6.2ffmpeg是2.6.2,支持arm64 armv7,i386,x86_64我的测试分两块.ffmpeg和音视频数据以静态库方式封装好(工程名:libH264)上层是界面上的UI(工程名:TestH264)libH264工程配置Build Active Architecure Only = NO (最好都是NO, 按release
2015-04-21 09:53:16
3360
原创 实战FFmpeg编译支持arm64
App store要求上架的app必须支持arm64.而手中的ffmpeg还不支持arm64, 百度下ffmpeg支持arm64方法,网上有很多资料.其中一篇是使用脚本自动编译实现的.本文就是使用它的.FFmpeg-iOS-build-script 脚本需依赖gas-preprocessor.pl.FFmpeg-IOS-build-script下载地址:https://github.c
2015-04-17 13:44:58
7625
原创 OC编码中的理解误区和错误编码习惯
OC编码时候,会走入一些理解误区或养成的错误的编码习惯.特记录下 1.加载重复的图片就使用[UIImage imageNamed:@"xxx.png"],特别是在UITableViewCell中要使用[UIImage imageNamed:@"xxx.png"] 2.加载一次性图片,就使用[UIImage imageWithData] NS
2015-04-15 10:10:49
755
转载 Linux多线程编程小结
转至:http://blog.youkuaiyun.com/monkey_d_meng/article/details/5628663前一段时间因为开题的事情一直耽搁了我搞Linux的进度,搞的我之前学的东西都遗忘了,很烦躁的说,现在抽个时间把之前所学的做个小节。文章内容主要总结于《Linux程序设计第3版》。1.Linux进程与线程 Linux进程创建一个新线程时,线程将拥有自己
2015-03-27 16:08:38
642
原创 VBA 去掉最大值,最小值,求方差
此算法是从一列数据中去掉最大数值和最小数值,求出总和,平均值,计算出 在cell中填充去掉的最大值,最小值, 总和,平均值和方差. 算法效率有点低,主要解决业务问题了.Public Sub aver() Application.ScreenUpdating = False Dim maxCount maxCount = 10 //最大行数
2015-03-05 10:20:23
3931
原创 IOS和android都使用的网络编程头文件
//#define Android 1#include //提供多线程操作的函数#include //提供有关时间的函数#include #include #include #include #include #include //提供错误号errno的定义,用于错误处理#include //提供设置
2015-02-09 14:16:07
3210
原创 libjingle p2p穿越初读心得
源码下载地址:http://code.google.com/p/libjinglelibjingle的UDP打洞是通过STUN/TURN协议实现的.具体什么是STUN,TURN什么是STUNSTUN协议的全称是Simple Traversal of User Datagram Protocol Through Network Address Translators,主要功能是检
2015-01-28 10:13:10
7362
原创 实战libjingle之sigslot,MessageHandler
接触过libjingle库,感慨于它强大的功能.这里不在全部描述libjingle模块. 只是简单介绍下它两个模块(sigslot,MessageHandler).sigslot主要用于对象的事件传递Messagehandler是很好的异步触发处理机制. 至于两者概念非本文描述,本文侧重于两者的实际运用.先在Xcode下新建个Test工程1.加入所需要的文件.如下图
2015-01-22 11:44:43
1165
转载 关于Xcode上的Other linker flags
转至:http://www.cnblogs.com/robinkey/archive/2013/05/27/3101095.htmlTargets选项下有Other linker flags的设置,用来填写XCode的链接器参数,如:-ObjC -all_load -force_load等。还记得我们在学习C程序的时候,从C代码到可执行文件经历的步骤是:源代码 > 预处理器 >
2015-01-14 08:56:34
633
原创 IOS,Win32和Android三版本的打印日志(DLog)宏定义
#ifdef IOS#if defined(_DEBUG) || defined(DEBUG)#define DLog(...) NSLog(__VA_ARGS__)#else#define DLog(...)#endif#endif //end IOS#ifdef win32#if defined(_DEBU
2015-01-07 15:01:51
2099
原创 OC与C++的回调处理
经常遇到上层是OC部分,下层是C++部分的结构.这样就会遇到OC调用C++部分,C++回调OC的部分.以下是相关的示例. 此示例 部分1 是OC通过域名空间调用了C++接口,也避免了new对象.这部分很简单,看下loginWithUserName接口. 部分2是描述了C++回调OC部分.这里要说下为什么要使用libMananger单例.原因之一是模块化了,当然更重要的是在stat
2015-01-06 18:03:06
5353
转载 Xamarin(3)---引用Objective-C class library
转至:http://thinkpower.info/xamarin/cn/Article_07.aspx?idx=07#xamarin_top这个范例是如何在Xamarin.ios中去使用一个我们自行在Xcode中开发的Objective-c Class Library. 主要会执行的步骤如下在Xcode 里面去建立一个Class Library编译这个Class Librar
2015-01-04 15:04:46
2444
转载 Xamarin(2)---iOS 基本控件介绍
转至:http://thinkpower.info/xamarin/cn/Article_02.aspx?idx=02#xamarin_top.感谢作者.前言在上一篇文章中,我们介绍了Xamarin 以及简单的HelloWorld范例,这次我们针对iOS的项目目录架构以及基本控件进行说明. 包含UIButton,,UISlider,UISwitch,UIImage以及UIWebVi
2015-01-04 14:13:52
3480
转载 Xamarin(1)---Hello Xamarin !
转至:http://thinkpower.info/xamarin/cn/Article_01.aspx?idx=01#xamarin_top前言应用程序发展的脚步,从来没有停过。从早期的Windows 应用程序,到网络时代的web 应用程序,再到近几年相当盛行的行动装置应用程序(Mobile Application),身为C#的开发人员与Visual Studio的使用者。W
2015-01-04 13:59:36
1707
原创 ios8.0下CLLocationManager定位服务需要授权了
最近在ios8.0使用CLLocationManager定位服务,发现老不能定位,查看设置菜单中的项也是处于未知状态.想起之前都有一个弹出框提示用户是否允许定位,这次一直没有出现了.原来ios8.0下的定位服务需要申请授权了.具体代码如下: if ([CLLocationManager locationServicesEnabled]) { self.locationManage
2014-12-30 16:48:39
31377
原创 xcode 6 Adaptive Segues的Push的使用
大家都知道之前Push Segues被Show Segues替换了.今天刚好用到了这个,这里记录下. 的确storyborad中的Segue项已经改变了.如下图 用实际例子来说明,建立两个视图(MainViewController和SecondViewController),按默认情况使用Show Segue,看看什么情况. 运行模拟器后,看到的效果是从下到上的覆盖动画效果;类
2014-12-30 13:49:50
4500
转载 检测苹果推送证书有效性
写apple 推送程序,经常遇到发送失败或接收不到的问题. 以下收集了相关问题 转至http://www.haodaima.net/art/2420853使用APNS 搭建苹果推送服务器错误:unable to connect to ssl://gateway.sandbox.push.apple.com:2195 错误1:检查你的服务器的端口 21
2014-12-25 09:43:21
7715
原创 资料引用(1.qq授权登录;2.调节ios音量(SystemVolumeNativeExtension);3.MP4v2库)
1.qq授权登录 即是QQ互联;QQ官方给出了详细的文档.我就不重复造轮子了. 地址:http://wiki.connect.qq.com/%E7%A7%BB%E5%8A%A8%E5%BA%94%E7%94%A8%E6%8E%A5%E5%85%A5%E6%A6%82%E8%BF%B0 2.调节ios音量 这个是一个开源的代码.很牛逼的 地址:https:
2014-12-25 09:28:53
1457
原创 实战以中心点绘制圆点并显示文字
网上看了些资料,整理并实践了标题所说的问题.分享出来.先上效果图代码如下- (id)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { // Initialization code _lineWidth = 2
2014-12-24 16:41:50
1603
原创 实战以中心点旋转UIImageView 360度
其实这个网上很多这样的例子,我也是借鉴网上做的,这里只是备份下.直接上代码1.先创建一个UIImageView.- (void)createImageView { UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0.0,0.0, frame.size.width, frame
2014-12-24 16:00:17
12735
转载 iOS应用性能调优的25个建议和技巧
目录我要给出的建议将分为三个不同的等级: 入门级、 中级和进阶级:入门级(这是些你一定会经常用在你app开发中的建议)1. 用ARC管理内存2. 在正确的地方使用reuseIdentifier3. 尽可能使Views不透明4. 避免庞大的XIB5. 不要block主线程6. 在Image Views中调整图片大小7. 选择正确的Collection8. 打开gzip压缩
2014-12-16 13:17:49
855
转载 Unwind Segue的工作原理和Modal presentation与Unwind segue的区别
转至http://www.cocoachina.com/ios/20141113/10212.htmlUnwind Segue的工作原理大致如下:● 当我们通过UI事件或手动调用performSegueWithIdentifier:sender:方法触发一个Unwind Segue以后,首先UIKit会发送canPerformUnwindSegueAction:fromViewCo
2014-12-09 14:07:31
4280
原创 GKPeerPickerController开启手机设置菜单的蓝牙开关
在我一文章中介绍了通过调出设置界面手动开启蓝牙开关,这一篇介绍下通过GKPeerPickerController开启手机蓝牙开关,不需要切换到Setting界面了.首先加入GameKit.framework//.h文件中#import @interface MyViewController : UIViewController{ GKPeerPickerContr
2014-11-20 17:57:29
2501
ios实例集成
2014-03-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人