惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

TaoSecurity Blog
TaoSecurity Blog
T
Troy Hunt's Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Vercel News
Vercel News
T
Threatpost
G
Google Developers Blog
T
Threat Research - Cisco Blogs
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
The Exploit Database - CXSecurity.com
H
Heimdal Security Blog
Google DeepMind News
Google DeepMind News
Cyberwarzone
Cyberwarzone
T
The Blog of Author Tim Ferriss
Know Your Adversary
Know Your Adversary
Hacker News: Ask HN
Hacker News: Ask HN
www.infosecurity-magazine.com
www.infosecurity-magazine.com
S
Schneier on Security
B
Blog
V2EX - 技术
V2EX - 技术
NISL@THU
NISL@THU
C
CERT Recently Published Vulnerability Notes
W
WeLiveSecurity
C
Cybersecurity and Infrastructure Security Agency CISA
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Y
Y Combinator Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Spread Privacy
Spread Privacy
The Last Watchdog
The Last Watchdog
V
Vulnerabilities – Threatpost
N
Netflix TechBlog - Medium
Schneier on Security
Schneier on Security
F
Fortinet All Blogs
N
News | PayPal Newsroom
Attack and Defense Labs
Attack and Defense Labs
Blog — PlanetScale
Blog — PlanetScale
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Microsoft Security Blog
Microsoft Security Blog
S
Security @ Cisco Blogs
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
P
Privacy & Cybersecurity Law Blog
P
Proofpoint News Feed
Project Zero
Project Zero
I
Intezer
罗磊的独立博客
H
Hackread – Cybersecurity News, Data Breaches, AI and More
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - Franky
SecWiki News
SecWiki News
Martin Fowler
Martin Fowler

博客园 - 恋上你的笑

NSDateFormatter format strings math.h里的数学计算公式介绍<转> SQLite函数大全 GCD介绍(转) Objective-C Blocks研究(转) CGContext<转CC> Iphone开发-NSdata 与 NSString,Byte数组,UIImage 的相互转换<转> Mac下的svn命令使用方法<转> 解决:XCODE 4.2 无法连接SVN,提示:Unable to load revisions 常用路径操作方法 ios开发小知识3 app在程序中设置版本自动更新的步骤 ios常用网络编程要点 NSString用法总结 Quartz 2D编程 ios开发小知识2(转自cc) object-c开发中混合使用或不使用ARC(转) 3DES+Base64 加密解密的方法(转) In App Purchases 入门(转)
xcode中使用ARC问题
恋上你的笑 · 2012-07-30 · via 博客园 - 恋上你的笑

解决方案一:

那么在xCode中经常需要导入一些外来的代码文件,如果导入的文件使用了ARC机制而你的当前项目没有使用ARC,那么xCode会给出警告,或者报错。我们该如何处理这些问题呢:

点击项目导航文件--> 选中Targets--> 选择 Build Phases --> 展开Compile Sources

这个时候,我们看到第二列的名称为:Compiler Flags

双击你所要使用ARC的文件,并输入 -fobjc-arc

那么现在这个文件就可以在编译时使用ARC机制进行编译了。

同上,如果想让使用ARC机制的代码不使用ARC机制,只需要输入 -fno-objc-arc  

解决方案二:

就是我们在工程中会有很多的共通的lib包要导入,但是有些工程是支持ARC,有些工程是不支持ARC的,这个时候就需要分别对应了,昨天和一个日本人讨论一番,在iOS4.3中用ARC,支持是支持不过好像有问题,我举反对他举赞成,最后找了个网上的资料,否决了,今天无意中看一段github上的code,发现原来是可控的。

上一段代码先

#if !__has_feature(objc_arc)

    [request autorelease];

#endif

看代码大概能猜出个12345,不过还是上网找了资料,结果就找到了一个github中ARC Helper的开源代码(现在意见习惯性的搜索github找解决方案了)

说实话每次都按照上面的代码写得话不是一般得烦,有了这个ARC Helper宏(参照:iOS开发中使用宏定义提高开发效率),写起来便利多了。

贴下代码,具体也可参照github的ARC HELPER

// // ARC Helper // // Version 1.2.2 // // Created by Nick Lockwood on 05/01/2012. // Copyright 2012 Charcoal Design // // Distributed under the permissive zlib license // Get the latest version from here: // // https://gist.github.com/1563325 // #ifndef AH_RETAIN #if __has_feature(objc_arc) #define AH_RETAIN(x) (x) #define AH_RELEASE(x) (void)(x) #define AH_AUTORELEASE(x) (x) #define AH_SUPER_DEALLOC (void)(0) #else #define __AH_WEAK #define AH_WEAK assign #define AH_RETAIN(x) [(x) retain] #define AH_RELEASE(x) [(x) release] #define AH_AUTORELEASE(x) [(x) autorelease] #define AH_SUPER_DEALLOC [super dealloc] #endif #endif // Weak reference support #ifndef AH_WEAK #if defined __IPHONE_OS_VERSION_MIN_REQUIRED #if __IPHONE_OS_VERSION_MIN_REQUIRED > __IPHONE_4_3 #define __AH_WEAK __weak #define AH_WEAK weak #else #define __AH_WEAK __unsafe_unretained #define AH_WEAK unsafe_unretained #endif #elif defined __MAC_OS_X_VERSION_MIN_REQUIRED #if __MAC_OS_X_VERSION_MIN_REQUIRED > __MAC_10_6 #define __AH_WEAK __weak #define AH_WEAK weak #else #define __AH_WEAK __unsafe_unretained #define AH_WEAK unsafe_unretained #endif #endif #endif // ARC Helper ends