Objective-C 消息转发源码解析

Objective-C 消息转发源码解析

官方消息转发文档:
Message Forwarding

消息转发机制是为了留给用户一些处理异常的余地。从 objc 层面我们看到的是这几个oc 方法。

+ (BOOL)resolveInstanceMethod:(SEL)s

[……]阅读全文

通过 gnustep objc 开源实现探究 KeyValueObserving 背后的实现

探究 KeyValueObserving 背后的实现

KVO PG

Key-Value Observing Implementation Details

Automatic key-value observing is implemented using a technique called

[……]阅读全文

“self.class” 和 “object_getClass” 为什么不同

“self.class” 和 “object_getClass” 为什么不同

最近看到很多人对 “self.class” 的解释是,”如果是实例的时候,返回类对象,否则返回自身。”

其实这句解释,稍微思考一下,会觉得说的含糊不清,这个类对象是什么?这个否则的情况又是如何的?

Objective

[……]阅读全文

Aspects 源码分析

Aspects 源码分析

AOP 作用

面向对象,面向过程,是软件开发同学倒背如流的概念了,工作中也无时无刻不在与 OOP, POP 打交道。OOP 和 POP 原本就谈不上孰优孰劣的是非问题了,各有千秋,对于 AOP 也是同样。

OOP, POP, AOP 这几个概念其实代表着解决问题不同视[……]阅读全文

iOS 开发者必备知识一:开发者证书和描述文件那些事

Required knowledges for iOS Developer

Apple Developer Site

苹果开发者网站 developer.apple.com, 为开发者提供续费,证书生成,移动描述文件,应用ID ,开发设备等管理服务。

开发者分为个人,公司,和企业级三种类型[……]阅读全文

根据 rfc2396 解决 iOS custom scheme 不生效的问题

问题背景说明

iOS 的自定义方案(custom scheme) 发布已经有4,5年的时间了,随着 iOS 系统的不断演变,在 xcode 配置自定义方案的方法也悄然发生了变化。

在配置的过程中还是会时常出现配置的 scheme 不生效的问题?总结了一下,大致分这几种情况:

首先解释一下应用场[……]阅读全文

Meet “Unable to run mksdcard SDK tool.” on ubuntu

You can fix this problem like this:

sudo apt-get install lib32z1 lib32ncurses5  lib32stdc++6

[……]阅读全文

Connect android device to linux for development

Develop android application on Linux

You can use Android-sdk-linux, AndroidStudio, development android applications on linux operating system. But wh[……]阅读全文

android 管理sdk出现异常的解决办法

打开 android 更新信息的时候出现类似以下的错误提示, Failed to fetch URL https://dl-ssl.google.com/android/repository/repository.xml, 找了很多解决办法,整理如下:

  1. 开启 java ssl 的调试模式

增[……]阅读全文

appcompat_v7项目引起的编译错误

这是由于目标sdk选择了 API21 以上版本后,ADT自动生成兼容项目appcompat_v7。

解决办法:
1. 安装 SDK Platform 21
2. 分别在appcompat_v7和主项目的project.properties中设置 为target=android-21。
3. 清理项[……]阅读全文

安卓环境变量的配置

环境变量: ANDROID_HOME ,你的安卓sdk的根目录路径。
另外还需要导出安卓sdk下 toolsplatform-tools 两个路径,其下有一些工具例如:adb, ddms 等。

对于 unix-like 的系统:

export ANDROID_HOME="$HOME/Wor

[……]阅读全文

Android Studio 的使用——系统梳理

简介

JetBrains 是一家全面,精致的ide开发商。提供了多种平台语言的ide,覆盖了 php, java, ruby, python, c++, objective-c, c# 等主流的语言和平台,以其多年的ide经验带给开发者不一样的开发体验,尤其是他家独有的代码智能提示,大幅提高了开发[……]阅读全文

Use Cocoapods in iOS

Requirements

  • rvm
  • ruby
  • gem

这三者缺一不可,其实 Cocoapods 是一群想把 gem 包管理器引入到 Cocoa 开发中来的伟大的家伙们开发出来的,感谢他们的辛勤努力!

Installing

gem install cocoapods

Using

[……]阅读全文

使用 xcodebuild 和 xcrun 自动化打包

xcodebuild 编译项目

xcodebuild -scheme $scheme_name -configuration $build_config -target $scheme_name -sdk iphoneos -derivedDataPath ./build || echo "Bui

[……]阅读全文

Use CoreFoundation object as an arc property in Objective-C

自从有了property 再也不用手动书写 setter 和 getter 了。

但是对于 CoreFoundation 对象来说,无法直接用来作为property 对象的,从本质上说 CoreFoundation对象更接近 C 结构体。 Apple 开发人员提供的 arc 解决方案,同时也包含了[……]阅读全文

This page loaded in 0.297 seconds with 59 database queries.