So, virtual machines include finite state machines? I guess parsers and other stack machines are right out too, then. It could be argued that the regexps are a "minor feature."
I'm pretty sure they're rejecting usage of an unofficial regex API. Nothing to get too excited about and I'm definitely sure they're not rejecting pcre, etc.
It's not an unofficial regex API, It is the libicucore a regex library that is available on the phone. It is even available from the xcode "Add Existing Frameworks" dialog.
As kemiller said, this is likely about Apple wanting developers to use iOS4's built-in support for regular expressions, which, by the way, gives you the answer to your submission's title. Please edit it accordingly.
My understanding of the issue is that RegexKitLite uses APIs from the International Components for Unicode (ICU) library shipped with the OS. As that library has not been blessed for public consumption, it's apparently being deemed usage of a private API, and rejected.
From the RegexKitLite site:
"Prior to iPhone OS 3.2, there was never any official support from Apple for linking to the libicucore.dylib library. It was unclear if linking to the library would violate the iPhone OS SDK Agreement prohibition against using undocumented API's, but a large number of iPhone applications choose to use RegexKitLite, and the author is not aware of a single rejection because of it. Starting with iPhone OS 3.2, Apple now officially allows iPhone OS applications to link with the ICU library. The ICU library contains a lot of functionality for dealing with internationalization and localization, but Apple only officially permits the use of the ICU Regular Expression functionality."
That muddles the issue a bit, though. If the ICU regex stuff has been blessed for public consumption, what's the violated private API? Is it only apps for pre-3.2 platforms that are being rejected? Is RegexKitLite using unblessed parts of that library?
12 comments
[ 2.1 ms ] story [ 42.9 ms ] threadjk
Supposedly, this is based on use of private APIs.
I'm pretty sure they're rejecting usage of an unofficial regex API. Nothing to get too excited about and I'm definitely sure they're not rejecting pcre, etc.
From the RegexKitLite site:
"Prior to iPhone OS 3.2, there was never any official support from Apple for linking to the libicucore.dylib library. It was unclear if linking to the library would violate the iPhone OS SDK Agreement prohibition against using undocumented API's, but a large number of iPhone applications choose to use RegexKitLite, and the author is not aware of a single rejection because of it. Starting with iPhone OS 3.2, Apple now officially allows iPhone OS applications to link with the ICU library. The ICU library contains a lot of functionality for dealing with internationalization and localization, but Apple only officially permits the use of the ICU Regular Expression functionality."
That muddles the issue a bit, though. If the ICU regex stuff has been blessed for public consumption, what's the violated private API? Is it only apps for pre-3.2 platforms that are being rejected? Is RegexKitLite using unblessed parts of that library?