iOS开发60分钟入门

本文面向已有其它语言(如Java,C,PHP,Javascript)编程经验的iOS开发初学者,初衷在于让我的同事一小时内了解如何开始开发iOS App,学习目标包括:能使用Xcode IDE、模拟器;能修改、调试已有iOS App;能在已有应用内创建新模块;能创建新应用;能发布应用到App Store

阅读全文 »

快速配置 Sign In with Apple

在 WWDC19 大会上,苹果公司推出了一项有意思的内容,即 “Sign In with Apple”。这项由苹果提供的认证服务,可以让开发者允许用户使用 Apple Id 来登录他们的应用程序。

阅读全文 »

iOS 流量监控分析

在每一个 HTTP 请求开始时,URL 加载系统创建一个合适的 NSURLProtocol 对象处理对应的 URL 请求,而我们需要做的就是写一个继承自 NSURLProtocol 的类,并通过 - registerClass: 方法注册我们的协议类,然后 URL 加载系统就会在请求发出时使用我们创建的协议对象对该请求进行处理。

阅读全文 »
阅读全文 »

WWDC 2019 :优秀的开发习惯

成功的APP开发需要掌握方方面面的东西。了解可纳入开发流程的实践以提高你的生产力,提升你APP的性能和稳定性。学习如何提高通过Xcode编写的代码质量。获得一些有价值的开发技术的切实理解。

阅读全文 »

使用 GPUImage 实现一个简单相机

本文介绍了如何使用 GPUImage 来实现一个简单的相机。具体功能包括拍照、录制视频、多段视频合成、实时美颜、自定义滤镜实现等。

阅读全文 »

大型 SDK 组件化拆分的一些思考

笔者的任务在初期是比较简单和明确的,要求对于某些模块能够可选集成,使用cocoaPod的时候,是否集成某个模块,不能改动一句代码,有点像友盟的社会组件集成方式,但是比那个应该要复杂一些,后面会细说原因。

阅读全文 »

Objective-C Runtime

Runtime 是 Objective-C 区别于 C 语言这样的静态语言的一个非常重要的特性。对于 C 语言,函数的调用会在编译期就已经决定好,在编译完成后直接顺序执行。但是 OC 是一门动态语言,函数调用变成了消息发送,在编译期不能知道要调用哪个函数。所以 Runtime 无非就是去解决如何在运行时期找到调用方法这样的问题。

阅读全文 »

Runloop 循环

Runloop 是和线程紧密相关的一个基础组件,是很多线程有关功能的幕后功臣。尽管在平常使用中几乎不太会直接用到,理解 Runloop 有利于我们更加深入地理解 iOS 的多线程模型。

阅读全文 »

Object-C的消息机制

在C++或Java里,类与类的行为方法之间的关系非常紧密,一个方法必定属于一个类,且于编译时就已经绑定在一起,所以你不可能调用一个类里没有的方法。而在Objective-C中就比较简单了,类和消息之间是松耦合的,方法调用只是向某个类发送一个消息,该类可以在运行时再确定怎么处理接受到的消息。

阅读全文 »

Objective-C概要介绍

在 Objective-C 以及其他很多动态语言当中,自省是一种用于判断对象是哪个类型的对象,以及这个对象能处理哪个消息的方法,特别是当你得到的对象是id类型时,自省更显得尤其有用。

阅读全文 »

Objective-C 中的内存管理

在 Objective-C 中,对象通常是使用 alloc 方法在堆上创建的。 [NSObject alloc] 方法会在对堆上分配一块内存,按照NSObject的内部结构填充这块儿内存区域。

阅读全文 »

## 类方法

OC 中的方法只要声明在 @interface里,就可以认为都是公有的。实际上,OC 没有像 Java,C++ 中的那种绝对的私有及保护成员方法,仅仅可以对调用者隐藏某些方法。

阅读全文 »
阅读全文 »

UIViewController(视图控制器)介绍

UIViewController(视图控制器),顾名思义,是 MVC 设计模式中的控制器部分。UIViewController 在 UIKit 中主要功能是用于控制画面的切换,其中的 view 属性(UIView 类型)管理整个画面的外观。

阅读全文 »

UIView 介绍

UIView 表示屏幕上的一块矩形区域,负责渲染区域的内容,并且响应该区域内发生的触摸事件。它在 iOS App 中占有绝对重要的地位,因为 iOS 中几乎所有可视化控件都是 UIView 的子类。

阅读全文 »

UIApplication 介绍

UIApplication 的核心作用是提供了 iOS 程序运行期间的控制和协作工作。

阅读全文 »

离屏渲染

离屏渲染,指的是在 GPU 的当前屏幕缓冲区外开辟新的缓冲区进行操作。

阅读全文 »

Cocoa 网络编程

这里主要介绍处于 Cocoa 层的基于 NSURL 的一系列方法。这里主要介绍处于 Cocoa 层的基于 NSURL 的一系列方法。

阅读全文 »

Cocoa 并发编程

NSThread 是一个控制线程执行的对象,通过它我们可以方便的得到一个线程并控制它。NSThread 的线程之间的并发控制,是需要我们自己来控制的,可以通过 NSCondition 实现。它的缺点是需要自己维护线程的生命周期和线程的同步和互斥等,优点是轻量,灵活。

阅读全文 »

iOS UI相关事件分类

对于 iOS 设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。

阅读全文 »
阅读全文 »

Core Animation

实现了各种高端炫酷掉渣天的效果,从这里开始

阅读全文 »

APP适配iOS11

iOS 11 为整个生态系统的 UI 元素带来了一种更加大胆、动态的新风格。 本文介绍iOS11中在UI方面做了哪些更新,有些更新可以为用户提供更加完美的体验,但也有的可能会给目前的APP带来异常bug。

阅读全文 »

关于Xcode不能打印崩溃日志

void uncaughtExceptionHandler(NSException *exception) {
    NSLog(@"CRASH: %@", exception);
    NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
    // Internal error reporting
}

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{   
    NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
    // Normal launch stuff
}
阅读全文 »
阅读全文 »
阅读全文 »

iOS不依靠AFNetwork访问HTTP

iOS开发人员提到访问HTTP接口,好像不用AFNetwork就不是政治正确,但结合开发历程来看,其实好多时候,我们只是简单访问HTTP API接口,一个方法就搞定了,不用引用那么庞大的库,正应了那句,杀鸡何须用牛刀。

阅读全文 »

UITableViewCell高亮效果实现

开发UITableView列表时,点某一项时的高亮操作我们一般使用默认效果,或者有时产品根本就意识不到需要高亮,今天自己写代码时,需要控制高效效果,实现以后做个笔记以防忘记。

阅读全文 »

UIColor使用注意事项

做界面的时候常常会用到UIColor这个类,这是苹果的一个表示颜色的类。想要表示一种颜色,UIColor 有默认的颜色,WhiteColor,BlackColor。需要注意的是,但我们用RGB构造时,他的取值的范围是0~1。

阅读全文 »
阅读全文 »
阅读全文 »

App Store 审核指南[2017年最新版本]

App Store 的指导原则非常简单:我们希望为用户获取 app 时提供更安全可靠的体验,并为所有开发者提供借助 app 获得成功的契机。我们已按照这一原则更新了 App Review 指南。新版指南本身核心内容并没有任何变化,但其规划得更有条理,且包含更多背景以便理解。在后续页面中,您会发现这些准则已被清晰地划分为五个部分:安全、性能、业务、设计及法律。

阅读全文 »

苹果给出2015年应用被App Store拒绝的十大理由

2014年9月份的时候,苹果就曾经在官网给出了应用被拒绝的10大理由,最近该公司对这个列表进行了更新,其中50%以上的应用被拒绝都是因为这10个原因,下面我们来看看都有哪10个理由。

阅读全文 »
阅读全文 »

UIDevice的简单使用

UIDevice提供了多种属性、类函数及状态通知,帮助我们全方位了解设备状况。从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用户及设备的一些信息。UIDevice类还能够收集关于设备的各种具体细节,例如机型及iOS版本等。其中大部分属性都对开发工作具有积极的辅助作用。下面的代码简单的使用UIDevice获取手机属性。

阅读全文 »
阅读全文 »
阅读全文 »
阅读全文 »