自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 iOS 汇编入门 - arm64基础

前言 iOS 中常见的架构有 armv7、armv7s、arm64、i386、x86_64 这些。 其中, armv7 、armv7s 、arm 64 都是 ARM 处理器的指令集,i386 、x86_64 是 Mac 处理器的指令集 这些指令集对应的机型有以下这些: ar...

2020-02-27 13:54:20 217 0

原创 使用 Charles 解决部分App无法上网的问题(SSL Pinning)

设置好 Charles 代理之后发现打开目标 App debug 的时候弹窗“网络异常”提醒,测试 Safari 正常和其他 App 发现大部分都可以打开。 Google之后发现这是因为该 App 使用了SSL Pinning 的原因。SSL Pinning 意味着 App 拷贝了一份服务器的公钥...

2019-10-22 11:24:04 813 0

翻译 一次编译同时启动多个模拟器

原文 https://buildingvts.com/launch-multiple-ios-simulators-on-a-single-compile-985fd2ad5eb1 当你写完自动布局需要测试在不同模拟器上的运行效果时你是否很头疼,需要一个一个模拟器去启动运...

2018-04-04 15:48:58 1093 0

翻译 iOS高级调试&逆向技术-汇编寄存器调用

前言本文翻译自Assembly Register Calling Convention Tutorial 序言通过本教程,你会可以看到CPU使用的寄存器,并探索和修改传递给函数调用的参数。还将学习常见的苹果计算机架构以及如何在函数中使用寄存器。这就是所谓架构的调用约定。 了解汇编是如何工作的,以及...

2017-07-13 18:20:50 6502 8

原创 分离静态库架构

先来看一段 MakeFile 脚本:OUT = libkugouplayer_VIPER3DRender.aOBJS = \ ../../Limiter.cpp \ ../../ViPER3DEffect.cpp \ ../../../A...

2017-05-18 11:17:45 738 0

原创 ARC 下 C++/OC 混编计数器的问题

ARC 模式下,object-C 编写的代码的内存管理都交给了自动引用计数器了,不用我们自己再去操心内存的管理,但使用 Core Foundation 框架或者是和 C++ 混编时,代码的内存还是需要我们自己去管理的,这时候就需要注意了!Core Foundation 主要是由不透明类型(opaq...

2017-05-16 20:54:37 904 0

原创 拷贝头文件shell

简单的拷贝头文件的话其实一个命令就可以搞定了find ./ -type f -not -name "*.h" -delete然后 copy 到你想要的地方,但这样做得不够完全,会出现一些空的目录,而且每次都要手动去敲命令,还是觉得挺麻烦的。所以还是写一个脚本执行好点,如上图,想...

2017-05-03 17:03:05 1010 0

原创 AVAudioSessionInterruptionNotification not called

问题描述: 监听了系统的打断事件,在来电的时候有收到系统打断的 AVAudioSessionInterruptionTypeBegan 通知,却没有收到 AVAudioSessionInterruptionTypeEnd 通知。 [[AVAudioSession sharedInstance]...

2016-08-01 17:39:51 4894 0

原创 重定向 NSLog 输出到文件

问题: 在 iOS 的开发过程中总是离不开 Debug,调试的时候都是依靠 XCode log 输出来追踪确定问题。 但如果离开了 XCode 的时候仍然想看到日志的输出,比如在调试 App 与硬件的交互的时候,这时候应该怎么办? 解决思路: 方法一: 第一反应是,写个类似于 NSLog 的输出函...

2016-07-03 21:22:43 1564 0

原创 iOS 编译包含 bitcode 的 opencore-amr-iOS 静态库

下载 opencore-amr-iOS 源码。修改 build_ios_xcode6.sh 脚本,以下加粗的部分为修改的内容。#!/bin/sh ### Modified from http://blog.csdn.net/favormm/article/details/6772097 set -...

2016-06-20 18:09:12 4202 1

原创 iOS 编译包含 bitcode 的 x264 静态库

1、首先下载 x264 的源码  git clone git://git.videolan.org/x264.git # cd x264 2、编译脚本在这里。 3、将编译脚本下载下来,打开 build-x264.sh ,在所有的 CFLAGS="... -fembed-bitcode...

2016-06-20 15:59:26 1675 0

原创 iOS 编译包含 bitcode 的 fdk-aac 静态库(包含 arm64)

不多说了,这里是编译脚本。下载下来这个编译脚本后,修改一下 CFLAGS 选项,添加 -fembed-bitcode ,如下: 细心的话,你设置一下 XCode 的 bitCode 选项的 enable 为 YES 的话,在 sourcetree 里查看批文件的修改也可看到其实修改到的也是这一行...

2016-06-17 17:18:37 2913 0

转载 谈谈 WebSocket

对于一些例如 IM、金融、股价、视频会议等这样一些应用来说,所需要的不过是高实时、低延时。 针对于这一需求,现在有哪些比较好的可选方案呢?目前比较流行的是 socket 和 websocket。 Socket 首先,Socket 其实并不是一个协议。它工作在 OSI 模型会话层(第5层),是为了方...

2016-05-26 23:26:04 3266 0

转载 漫谈 iOS Crash 收集框架

为了能够第一时间发现程序问题,应用程序需要实现自己的崩溃日志收集服务,成熟的开源项目很多,如 KSCrash,plcrashreporter,CrashKit 等。追求方便省心,对于保密性要求不高的程序来说,也可以选择各种一条龙 Crash 统计产品,如 Crashlytics,Hockey...

2016-05-26 17:17:40 1403 0

原创 调节音量时隐藏系统提示框(Hide device volume HUD when adjust the volume)

有这样一个需求,在特定页面调节系统音量的时候需要隐藏系统的音量 HUD 提示框。首先想到的是肯定是找控制系统音量的那个类,查找一下有没有对应的接口提供,过了一下 MPMusicPlayerController 并没有找到我需要的接口。又 Google 了一下,找到了设置音量的类 MPVolum...

2016-05-02 23:07:11 4641 0

转载 Swift编程的15个技巧

转载链接:http://geek.csdn.net/news/detail/58593 自2014年9月1.0版发布后,Savvy的应用开发团队就开始在iOS项目中实验并使用Swift。不过由于Swift相对还很新,当时大多项目仍在使用Objective-C;自从2015年9月Swift...

2016-03-02 15:44:07 2546 0

转载 实现一个TODO宏

文章转自 sunnyxx 的博客:http://blog.sunnyxx.com/2015/03/01/todo-macro/ 实现一个TODO宏 实现一个能产生warning的TODO宏,用于在代码里做备忘,效果: 下面一步步来实现这个宏。 L...

2015-12-05 16:12:15 914 0

转载 iOS 保持界面流畅的技巧

文章转自:http://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/ 这篇文章会非常详细的分析 iOS 界面构建中的各种性能问题以及对应的解决思路,同时给出一个开源的微博列表实现,通过实际的代码展示如何构建流畅的交互。 ...

2015-11-19 09:41:23 7121 1

转载 afnetworking_downloadFile_example

- (IBAction)downloadFile:(id)sender { NSURL *url = [NSURL URLWithString:@"http://www.hulkshare.com/dl/qw30o7x373a8/stan_courtois_&_fell...

2015-10-28 18:36:57 721 0

原创 XCode 7.1 发送HTTP请求报错解决办法

昨天刚刚升级了XCode 7.1,然后在使用MPMoviePlayerController 播放在线流视频的时候报了HTTP的错误,如下: Application Transport Security has blocked a cleartext HTTP (http://) resource...

2015-10-27 12:22:27 2142 0

原创 Object-C 零碎知识点笔记

1、记录代码片段运行时间 double begin = mach_absolute_time(); [self refreshSongImageInNewLogic]; double end = mach_absolute_time(); NSLog(@"time cost = ...

2015-10-16 14:39:59 1021 0

转载 为什么说,你纯看代码而没有碰到这个场景你就算看懂了也没法理解?(关于并发)

为什么说,你纯看代码而没有碰到这个场景你就算看懂了也没法理解? 我碰到了一个什么问题? 来说一个场景,打开你的Instagram,如果手机有VPN,请连接上VPN.打开搜索页面,连续输入m,i,k,e. 你会发现,小菊花转了4次.可以想象,客户端向服务端发起了4个请求,搜索的字段...

2015-09-23 22:59:26 774 0

原创 在Darwin层建立Notification监听锁屏/解屏事件

判断屏幕锁屏/解锁: // // ViewController.m // TestScreenLockDemo // // Created by aaron.zheng on 2015-09-21. // Copyright © 2015 aaron.zheng. All rights r...

2015-09-21 15:29:56 2831 0

原创 初识ios音频相关类

AVAsset 是一个播放音频和视频的抽象类。 比较常用到的是它的子类 AVURLAsset ,通过 URL 实例化它。AVComposition 是用于时间编辑的。 要播放一个AVAsset实例,需要先初始化一个 AVPlayerItem 实例,使用 AVPlayerItem 去设置一些初始...

2015-09-14 15:03:50 2695 0

转载 Streaming iPod Audio Tracks From Disk With Core Audio

There are two questions that often arise for iOS developers new to Apple’s audio frameworks: (1) How do I play tracks from the iPod Library using the...

2015-09-12 14:20:29 970 0

转载 Xcode Server Tutorials: 3. Prebuild & Postbuild Scripts

This article is Part 3 of a whole series called Xcode Server Tutorials. Check out Part 2 first if you haven't already. New posts are always ...

2015-09-09 23:30:36 487 0

转载 Xcode Server Tutorials: 2. Integrations

This article is Part 2 of a whole series called Xcode Server Tutorials. Check out Part 1 first if you haven't already. New posts are always ...

2015-09-09 23:29:17 634 0

转载 Xcode Server Tutorials: 1. Getting Started

This article is Part 1 of a whole series called Xcode Server Tutorials. New posts are always tweeted by me (@czechboy0) on Twitter. We all k...

2015-09-09 23:27:38 1468 0

转载 iOS音频播放 (八):NowPlayingCenter和RemoteControl

文章转自:http://msching.github.io/blog/2014/11/06/audio-in-ios-8/ 距离上一篇博文发布已经有一个月多的时间了,在这其间我一直忙于筹办婚礼以至于这篇博文一直拖到了现在。 在之前一到六篇中我对iOS下的音频播放流程进行了阐述,...

2015-09-06 18:49:08 1809 0

转载 iOS音频播放 (七):播放iPod Library中的歌曲

文章转自:http://msching.github.io/blog/2014/09/07/audio-in-ios-7/ 由于最近工作量非常饱和,所以这第七篇来的有点晚(创建时间是9月7日。。说出来都是泪)。 现在市面上的音乐播放器都支持iPod Library歌曲(俗称iP...

2015-09-06 18:45:19 2053 0

转载 iOS音频播放 (六):简单的音频播放器实现

文章转自:http://msching.github.io/blog/2014/08/09/audio-in-ios-6/ 在前几篇中我分别讲到了AudioSession、AudioFileStream、AudioFile、AudioQueue,这些类的功能已经涵盖了第一篇中所提到的...

2015-09-06 18:43:39 5022 2

转载 iOS音频播放 (五):AudioQueue

文章转自:http://msching.github.io/blog/2014/08/02/audio-in-ios-5/ 在第三篇和第四篇中介绍了如何用AudioStreamFile和AudioFile解析音频数据格式、分离音频帧。下一步终于可以使用分离出来的音频帧进行播放了,本片...

2015-09-06 18:40:55 1619 0

转载 iOS音频播放 (四):AudioFile

文章转自:http://msching.github.io/blog/2014/07/19/audio-in-ios-4/ 接着第三篇的AudioStreamFile这一篇要来聊一下AudioFile。和AudioStreamFile一样AudioFile是AudioToolBoxf...

2015-09-06 18:38:25 877 0

转载 iOS音频播放 (三):AudioFileStream

文章转自:http://msching.github.io/blog/2014/07/09/audio-in-ios-3/ 本来说好是要在第三篇中讲AudioFileStream和AudioQueue,但写着写着发现光AudioFileStream就好多内容,最后还是决定分篇介绍,这...

2015-09-06 18:35:17 1345 0

转载 iOS音频播放 (二):AudioSession

文章转自:http://msching.github.io/blog/2014/07/08/audio-in-ios-2/ 本篇为《iOS音频播放》系列的第二篇。 在实施前一篇中所述的7个步骤之前还必须面对一个麻烦的问题,AudioSession。 本篇主要介绍关于Aud...

2015-09-06 18:32:05 894 0

转载 iOS音频播放 (一):概述

文章转自:http://msching.github.io/blog/2014/07/07/audio-in-ios/ 从事音乐相关的app开发也已经有一段时日了,在这过程中app的播放器几经修改我也因此对于iOS下的音频播放实现有了一定的研究。写这个系列的博客目的一方面希望能够抛砖...

2015-09-06 18:27:06 944 0

转载 iOS应用架构谈 网络层设计方案

前言 网络层在一个App中也是一个不可缺少的部分,工程师们在网络层能够发挥的空间也比较大。另外,苹果对网络请求部分已经做了很好的封装,业界的AFNetworking也被广泛使用。其它的ASIHttpRequest,MKNetworkKit啥的其实也都还不错,但前者已经弃坑,后者也在弃坑的...

2015-08-25 22:05:37 1164 1

转载 iOS应用架构谈 view层的组织和调用方案

前言 《iOS应用架构谈 开篇》出来之后,很多人来催我赶紧出第二篇。这一篇文章出得相当艰难,因为公司里的破事儿特别多,我自己又有点私事儿,以至于能用来写博客的时间不够充分。 现在好啦,第二篇出来了。 当我们开始设计View层的架构时,往往是这个App还没有开始开发,或者这个A...

2015-08-25 21:59:39 730 0

转载 iOS应用架构谈 开篇

缘由 之前安居客iOS app的第二版架构大部分内容是我做的,期间有总结了一些经验。在将近一年之后,前同事zzz在微信朋友圈上发了一个问题:假如问你一个iOS or Android app的架构,你会从哪些方面来说呢? 当时看到这个问题正好在乘公车回家的路上,闲来无聊就答了一把。在...

2015-08-25 21:45:30 648 0

转载 解决升级XCode后插件失效的方法

Plugins are tagged to work with specific versions of Xcode. This means that when a new Xcode version comes out, all 3rd party plugins created by the ...

2015-08-06 23:42:40 1368 0

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