Могу ли я связать статическую библиотеку, использующую ARC, с целью iOS 3.2? - PullRequest
2 голосов
/ 10 февраля 2012

Я делаю статический библиотечный продукт.Я хочу использовать ARC, но один из моих клиентов хочет настроить свое приложение на iOS 3.2.Они также хотят ориентироваться на архитектуру ARMv6.

ОК.Я должен принять требование.Как я знаю, ARC без ссылки weak - это просто функция компилятора, поэтому я думаю, что нет никакой разницы в самой статической библиотеке, или она не потребует iOS 4.0.Но, как я знаю, Apple ограничила минимальную iOS как 4.0.Поэтому я не могу решить это сам, потому что у меня нет устройства 3.2: (*

Кто-нибудь, кто тестировал код ARC на iOS 3.2? Если он будет работать нормально, я перейду на ARC и скомпилирую свою библиотеку с ARCи передать библиотеку своему клиенту. Я думаю, что смогу заставить их использовать 4.0, но я не уверен насчет ARMv6. Исходно нет причин, по которым ARMv6 не будет работать, но тот факт, что я не могу протестировать, заставляет меня беспокоиться.Пожалуйста, дайте мне знать о вашем опыте.

Ответы [ 2 ]

3 голосов
/ 10 февраля 2012

Для автоматического подсчета ссылок требуется современная среда выполнения (присутствует в iOS 4.0 и 64-битном Snow Leopard), поэтому проекты с поддержкой ARC не могут ориентироваться на iPhone OS 3.x.Они потерпят неудачу во время выполнения.

Развертывание статической библиотеки с поддержкой ARC в iOS 4.x имеет одну небольшую задержку, о которой вы должны знать.Как я описываю в этом ответе , если кто-то использует вашу статическую библиотеку с поддержкой ARC в приложении, отличном от ARC, ему нужно будет вручную связать библиотеку libarclite_iphoneos.a, если он нацелен на это приложение на iOS 4.Икс.Это включено по умолчанию в приложения с поддержкой ARC, но отсутствует в приложениях без поддержки ARC, которые связываются с библиотеками с поддержкой ARC.

0 голосов
/ 10 февраля 2012

ARC доступен с SDK 5.0 и iOS 4.3.

. Вы можете проверить http://clang.llvm.org/docs/AutomaticReferenceCounting.html для подробностей

Много полезной информации о создании статических библиотек в этомпост также: http://blog.stormyprods.com/2008/11/using-static-libraries-with-iphone-sdk.html

...