将iPhone设置为“水墨屏”的方法!

如果你习惯在夜晚刷手机,看微信公众号文章或阅读小说,但感觉 iPhone 屏幕过于亮眼,即使调整到最低亮度也不行,还可以利用“色彩滤镜”功能让 iPhone 变成“Kindle 水墨屏”。

一个不规范的 Category 写法导致的“血案”

项目前后两个版本,线上监控显示整体启动时间缩短了近 300ms,而且包体积也变小了 5M(提交到 App Store 的ipa包)。但是新版本没有大的需求插入,只是 `bugfix` 版本,启动阶段的代码也没有相关改动。为何会引起包体积和启动时间的变化呢?

源码浅析 SDWebImage 5.5.2

本文基于 SDWebImage 5.5.2。重读的原因也是由于发现它的 API 在不断迭代,许多结构已经不同与早期版本,同时也是为了做一个记录。阅读顺序也会依据 API 执行顺序进行,不会太拘泥于细节,更多是了解整个框架是如何运行的。

iOS 14 代码泄露,大量新功能曝光
iOS14超多细节曝光:更开放、更像安卓!
iPhone各机型死机重启方法!
苹果最后通牒:iOS13必须强制适配,果粉们拍手叫好!
探秘AFNetworking
唯一可行的 iOS 架构
你的 App 在 iOS 13 上被卡死了吗?

自从58同城iOS客户端9.0.0版本上线以来,陆续接到反馈说App有时启动会超时,无法响应,然后被系统杀死,只有重启手机才能恢复。得知存在App无法启动的问题后,我们马上展开了调查。通过对触发此问题的设备进行测试,发现此问题所影响的不仅仅是58同城App的启动,另有如京东、大众点评、腾讯视频等其他App也无法正常打开。

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 加载系统就会在请求发出时使用我们创建的协议对象对该请求进行处理。

聊聊AppDelegate解耦

每个iOS都有一个入口函数main,其中的一个参数就是AppDelegate。

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++ 中的那种绝对的私有及保护成员方法,仅仅可以对调用者隐藏某些方法。

Block 基础

Block 可以认为是一种匿名函数。

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 设备用户来说,他们操作设备的方式主要有三种:触摸屏幕、晃动设备、通过遥控设施控制设备。

单例模式(Singleton)

单例模式是一种常见的设计模式,在 Cocoa 开发中也经常使用。

Core Animation

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

APP适配iOS11

本文来自腾讯bugly公众号 iOS 11 为整个生态系统的 UI 元素带来了一种更加大胆、动态的新风格。 本文介绍iOS11中在UI方面做了哪些更新,有些更新可以为用户提供更加完美的...

关于Xcode不能打印崩溃日志

关于Xcode的控制台不打印Crash日志的问题。首先,我们需要设置uncaughtExceptionHandler,在AppDelegate.m添加如下代码: void uncaughtExceptionHandler(NSException *excep...

iOS获取应用版本号,Bundle ID等信息的方法

1:获取bundle Id信息: [[NSBundle mainBundle] bundleIdentifier]; 2:获取版本号: [[[NSBundle mainBundle]infoDictionary] objectForKey:@"CFBundleShortVersionStri...

UIViewController隐藏返回按钮的文字、以及自定义文字

方法一:设置文字的偏移 此方法需要全局声明,但是存在问题是假如父页面有标题,子页面的标题不能居中,子页面虽然不显示返回文字 但是子页面标题和返回按钮依然有父页面标...

iOS不依靠AFNetwork访问HTTP

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

UITableViewCell高亮效果实现

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

UIColor使用注意事项

好吧,有点标题党了。 做界面的时候常常会用到UIColor这个类,这是苹果的一个表示颜色的类。想要表示一种颜色,UIColor 有默认的颜色,WhiteColor,BlackColor ..... 也可以...

deb包的解压、修改、重新打包全过程方法

出于多种原因,有的时候需要直接对deb包中的各种文件内容进行修改,例如:在没有源代码的情况下的修改等。 那么就有三个问题需要解决: 如何将deb包文件进行解包呢? 修改...

小心元数据,别让他成为审核不通过的原因

前几天上线一个应用,遇到因为元数据不正确而被拒绝。后来检查发现,是因为描述里有提到Android相关的词汇。这次失败后,认真读了App Store Review Guidelines.中关于元数...

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

原文地址:https://developer.apple.com/app-store/review/guidelines/cn 简介 App 正在改变世界,丰富人们的生活,并为像您一样的开发者提供前所未有的创新机会。因此,A...

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

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

所有iPhone设备尺寸汇总

从第一代 iPhone (2G)到最新一代(iPhone X)尺寸汇总。 设备 物理尺寸 点 象素 PPI iPhone X 5.8 375 × 812 1125 × 2436 458 iPhone 8 Plus 5.5 414 × 736 ...

UIDevice的简单使用

什么是UIDevice UIDevice提供了多种属性、类函数及状态通知,帮助我们全方位了解设备状况。从检测电池电量到定位设备与临近感应,UIDevice所做的工作就是为应用程序提供用...

开篇 关于iOS越狱开发
使用最高权限操作iPhone手机
iOS 真机测试错误 “The application bundle does not contain a valid identifier的另一种原因

调试iOS包的时候,遇到这个错误,各种百度,google之后,得到的信息是清除derived data,具体方法如下: 在 Xcode > Preferences > Locations > Derived Data 找到 Derive...

在越狱的iPhone设置上使用lldb调试

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8