Меня смущают библиотеки регулярных выражений, доступные в iPhone SDK. Например, RegexLite выглядит так, как будто ему нужна динамическая ссылка, и, насколько я понимаю, это невозможно для SDK на iPhone.
Мне нужна библиотека RegEx для проверки данных ... какая из них лучше всего доступна?





RegexKitLite доступен и правильно работает на iPhone, либо включенный из источника как часть вашего проекта Xcode, либо путем связывания в статической библиотеке (что разрешено ToS SDK).
Использование RegexKitLite требует перетаскивания в ваш проект только исходного файла и файла заголовка и работает очень хорошо - он предлагает большинство функций, которые вы хотели бы получить от библиотеки регулярных выражений. По сути, это просто очень тонкая обертка вокруг уже существующей базовой структуры.
Убедитесь, что тип источника для заголовка и файла .m - «sourcecode.c.objc» после того, как вы добавите их в проект (используйте «Получить информацию» в данном исходном файле и посмотрите на вкладку «Общие»).
Это кажется очень маловероятным, учитывая, что это тонкая оболочка для поддержки RegEx, встроенная в существующие библиотеки iPhone. Это было бы похоже на запрет приложения, использующего UIWebView ... У вас есть ссылка на кого-то, кто отмечает отказ по этим причинам? Гугл ничего кроме домыслов не нашел. Возможно, вас смутит тот, кто использовал RegexKitLite для синтаксического анализа пользовательского языкового скрипта. Но для чего-то вроде этого вы, вероятно, могли бы получить одобрение (обратите внимание, что 3.3.1 был изменен, чтобы вы могли искать исключение).
Ссылка ниже на странице с ответом @bonaldi
RegexKitLite использует механизм регулярных выражений, предоставляемый библиотекой libicucore.A.dylib. Однако Apple официально не поддерживает связывание напрямую с этой библиотекой. Подробнее см. эта почта в списке рассылки пользователей Xcode. Однако, несмотря на это, в App Store доступно множество приложений для iPhone, не использующих RegexKitLite, поэтому маловероятно (но не невозможно), что Apple отклонит ваше приложение за его использование.
Джон Энглхарт (разработчик regexkitlite) написал в cocoa-dev, что приложения отклоняются за его использование. http://lists.apple.com/archives/Cocoa-dev/2010/Jun/msg00564.html
(Прошу прощения за этот якобы «ответ», это был бы ответ Кендаллу Хельмштеттеру Гелнеру, если бы у меня было еще 49 очков репутации).
спасибо, что передали эту информацию.
Интересно, что сейчас NDA отменено, есть ли у кого-нибудь более четкое описание? Единственное предположение, которое я смог найти, было то, что они считали материалы ICU частными API ...
Похоже, проблема решена. См. Это продолжение от разработчика. cocoabuilder.com/archive/cocoa/…
Просто хочу добавить, что в iOS 4 теперь есть NSRegularExpression.
И теперь MacOS 10.7 (Lion) тоже. Однако при разработке для Mac App Store я поддерживаю версии 10.6 и 10.7, поэтому я не могу использовать эту возможность.
Это хорошая легкая альтернатива RegexKitLite: https://github.com/bendytree/Objective-C-RegEx-Categories
Поступают сообщения о том, что приложения iOS4, использующие RegexKitLite, отклоняются предположительно из-за нарушения §3.3.1.