Shai Mishali
Shai Mishali

Reputation: 9382

Could i build a ARC framework and use it in a non-ARC project?

I think the title explains my question pretty well, I'm currently working on a small framework for my personal needs, and thought about building it with ARC (if thats possible at all?), and use it in old projects that were built before ARC?

Upvotes: 9

Views: 3041

Answers (3)

Brad Larson
Brad Larson

Reputation: 170319

Yes, with one caveat: if you have iOS 4.x as a deployment target, a supplemental library is necessary to deal with ARC-compiled code on the older runtime. For an application built using ARC, this is packaged in with the application. This is not included if you are using an ARC-compiled library in a non-ARC application.

You can manually link this library into your non-ARC application to avoid runtime problems on the older OS versions by adding -fobjc-arc to your Other Linker Flags for the application.

See this Apple Developer Forums thread for some more discussion on this.

Upvotes: 7

Paul de Lange
Paul de Lange

Reputation: 10633

You can link against the glue library provided by Apple (as Brad has said in his answer above). However, the __weak variable qualifier is not compatible with operating systems below 4.3 (As mentioned here: iOS 5 Best Practice (Release/retain?) in a comment by sudo).

Upvotes: 2

Patrick Perini
Patrick Perini

Reputation: 22633

Should be fine. The library is already compiled, so ARC/NonARC shouldn't matter anymore.

Upvotes: 1

Related Questions