- 浏览: 1030747 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (675)
- ios (214)
- android-course (5)
- unity3d (7)
- cocos2d (36)
- html5 (3)
- game (5)
- android (42)
- java (57)
- php (12)
- 创业 (10)
- SEO (3)
- 架构 (2)
- 数据库 (3)
- 产品设计 (9)
- 操作系统 (10)
- Web前端 (11)
- 其他 (50)
- GAE (1)
- mac os (8)
- Open Source (2)
- 序列号 (10)
- C (2)
- database (2)
- 算法 (6)
- 设计模式 (1)
- photoshop (1)
- 3dmax (1)
- maya (1)
- opengl (3)
- 游戏设计 (1)
- 趋势 (1)
- cocos2d-x (4)
- shell (3)
- c++ (30)
- lua (5)
- flash (1)
- spring (3)
- mysql (4)
- Git (6)
- xmpp (1)
- cocos2dx (14)
- mac (2)
- 编程规范 (2)
- windows (1)
- linux (5)
- coocs2dx (1)
- ubuntu (2)
- aws (1)
- OPENGLES (1)
- 原画 (1)
最新评论
-
jlees:
Best mobile app testing tool pc ...
iOS + XCode 4 + GHUnit = Mobile TDD+Continuous testing -
ipanda:
楼主,能否给一个Micro CloudFoundry的虚机或者 ...
Cloud Foundry使用及开发向导 -
love_zongming:
谢谢分享。。
visio2007序列号 -
雨花台舞水:
你这才是枪文把
套在 360 黑匣子外面的黑盒子:你被技术型枪稿吓到了么? -
hugh.wang:
改天试试
Mac版魔兽争霸3 1.24e下载
Q: Why do I get a runtime exception of "selector not recognized" when linking against an Objective-C static library that contains categories?
A: Why do I get a runtime exception of "selector not recognized" when linking against an Objective-C static library that contains categories?
The "selector not recognized" runtime exception occurs due to an issue between the implementation of standard UNIX static libraries, the linker and the dynamic nature of Objective-C. Objective-C does not define linker symbols for each function (or method, in Objective-C) - instead, linker symbols are only generated for each class. If you extend a pre-existing class with categories, the linker does not know to associate the object code of the core class implementation and the category implementation. This prevents objects created in the resulting application from responding to a selector that is defined in the category.
To resolve this issue, the target linking against the static library must pass the -ObjC
option to the linker. This flag causes the linker to load every object file in the library that defines an Objective-C class or category. While this option will typically result in a larger executable (due to additional object code loaded into the application), it will allow the successful creation of effective Objective-C static libraries that contain categories on existing classes. Follow these steps to pass -ObjC
to the linker:
-
In Xcode, double-click the target's name under "Targets" in the Project window.
-
Choose the Build pane from the ensuing Info window.
-
Scroll down to the
Other Linker Flags
build setting under the Linking collection and set its value to-ObjC
.
Figure 1 Target Build pane: Other Linker Flags
Important: For 64-bit and iPhone OS applications, there is a linker bug that prevents -ObjC
from loading objects files from static libraries that contain only categories and no classes. The workaround is to use the -all_load
or -force_load
flags.
-all_load
forces the linker to load all object files from every archive it sees, even those without Objective-C code. -force_load
is available in Xcode 3.2 and later. It allows finer grain control of archive loading. Each -force_load
option must be followed by a path to an archive, and every object file in that archive will be loaded.
转载:http://developer.apple.com/library/mac/#qa/qa1490/_index.html
发表评论
-
Mac上安装Protocol Buffers
2016-09-18 11:29 8191.下载文件 (http://code.google.com ... -
webview点击获取图片
2016-04-01 17:12 827UILongPressGestureRecognizer * ... -
hexo 自动部署脚步
2016-03-29 21:17 932echo "===============star ... -
自定义navigationItem.leftBarButtonItem后,系统默认的手势滑动失效解决方案
2016-03-01 18:01 1280自定义navigationItem.le ... -
UITextView autolayout 高度自适应
2016-02-15 23:26 1413UITextView *t = [[UITextView ... -
腾讯敏捷框架TAPD》研究
2015-11-19 20:47 1420这篇文档是研究心得 ... -
ios image 压缩
2015-11-06 12:09 837- (UIImage *)_scaleToSize:(UII ... -
iphone分辨率图解
2015-11-04 17:33 565iphone分辨率图解 -
IOS中获取各种文件的目录路径的方法
2015-09-24 12:10 647iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储 ... -
Customizing Navigation Bar and Status Bar in iOS 7
2015-08-17 20:23 1606Like many of you, I have been ... -
GCD 深入理解:第一部分
2015-07-24 14:49 767本文翻译自 http://www.raywenderlich ... -
Mac上的抓包工具Charles
2015-05-06 01:09 5316Mac上的抓包工具Charles 分类: IO ... -
如何移除发布版本中的NSLog输出
2015-05-04 20:27 749Phone开发中会经常使用NSLog将一些运行信息输出到终端 ... -
xcode4的环境变量,Build Settings参数,workspace及联编设置
2015-03-27 11:23 924一、xcode4中的环境变量 $(BUILT_PROD ... -
数字签名是什么?
2014-11-25 16:58 616http://www.ruanyifeng.com/blog/ ... -
让你的Xcode更加高效
2014-10-29 00:16 518http://www.tairan.com/archives/ ... -
我所经历的“余额宝”的那些故事
2014-06-08 01:05 758“余额宝”经过不到 ... -
代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
2014-05-31 01:25 794最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍 ... -
WWDC 2013 Session笔记 - iOS7中的多任务
2014-05-31 01:24 661这是我的WWDC2013系列笔记中的一篇,完整的笔记列表 ... -
APP被苹果App Store拒绝的79个原因(未完待续)
2014-05-09 10:49 1147作为iOS开发者,估计有很多都遇到过APP提交到App Sto ...
相关推荐
### 在Windows下搭建Objective-C开发环境 随着移动应用开发的普及,越来越多的开发者开始尝试不同的编程语言和技术栈。尽管Objective-C主要与Apple的平台(如iOS和macOS)相关联,但有时候,出于某些原因(比如团队...
"iOS开发Objective-C项目工程混淆脚本.zip"这个压缩包很可能包含了一套用于混淆Objective-C代码的工具或脚本。Objective-C是苹果平台上的主要编程语言,其语法特性使得混淆相对Java或其他静态类型语言更为复杂。 ...
在Windows平台上搭建Objective-C开发环境是一项相对复杂但可行的任务,主要依赖于GNUstep项目,它是一个开源实现的Objective-C环境,旨在提供与Apple的Mac OS X上的Cocoa类似的功能。以下是一个详细的步骤指南: 1....
把原来的swt.jar替换成这个就能解决 Cannot load 32-bit SWT libraries on 64-bit JVM问题
JDK 12 Documentation - Java Core Libraries Developer Guide JDK 12 Documentation - Java Core Libraries Developer Guide JDK 12 Documentation - Java Core Libraries Developer Guide JDK 12 Documentation - ...
Android-android-ui-animation-components-and-libraries.zip,android ui库、组件和动画作者@ramotion-...操作系统主要写在爪哇,C和C 的核心组件。它是在linux内核之上构建的,具有安全性优势。
Objective-C是在C语言的基础上添加了面向对象的特性,使得它可以作为一种类C语言来使用。Objective-C与C++类似,但采用了不同的语法实现面向对象编程。 #### 二、Objective-C的基本语法 ##### 1. 类定义 ...
Objective-C头文件导出工具class-dump 。 Current version: 3.4 (64 bit Intel) Requires Mac OS X 10.7 or later. class-dump 3.4 (64 bit) Usage: class-dump [options] <mach-o-file> where options are: -a ...
### Objective-C的语法与Cocoa框架 #### 一、Objective-C简介 Objective-C是一种通用、面向对象的编程语言,它是苹果公司 macOS 和 iOS 操作系统的主要开发语言。Objective-C 是在 C 语言的基础上添加了面向对象的...
完美解决Cannot load 32-bit SWT libraries on 64-bit JVM问题
### Win10利用CodeBlocks搭建Objective-C开发环境详解 #### 一、前言 随着iOS应用的日益流行,越来越多的开发者希望能够快速上手Objective-C语言。然而,并非所有人都能拥有苹果设备来直接进行开发。因此,在...
Eagle开源库文件“SparkFun-Eagle-Libraries”是一个由知名电子元件供应商SparkFun公司提供的资源,用于支持Eagle设计软件。Eagle(Electronic Assistant for Layout and Schematic)是一款广泛使用的电路板设计软件...
### 搭建Linux下的Objective-C开发环境 #### 背景介绍 Objective-C是一种通用、面向对象的编程语言,最初由Next公司开发,并被广泛应用于Mac OS X和iOS平台的应用开发。对于那些没有苹果设备但又想学习或实践...
在Windows环境下进行Objective-C开发可能对许多初学者来说是一个挑战,因为Objective-C通常是与Apple的macOS和iOS操作系统紧密关联的。然而,通过使用GNUstep,一个开源的Objective-C框架,开发者可以在Windows上...
### Windows XP 系统下创建 Objective-C 集成开发环境 #### 概述 本文旨在详细介绍如何在 Windows XP 操作系统中搭建一套基于 GNUstep 和 CodeBlocks 的 Objective-C 集成开发环境(IDE)。该环境对于希望在 ...
CGAL或计算几何算法库是一个C ++库,可让您轻松访问各种高效而可靠的几何算法。这些算法可用于广泛的应用程序,包括计算机辅助设计,机器人技术,分子生物学,医学成像,地理信息系统等。 CGAL具有广泛的数据结构和...