The App Store℠ has revolutionized the way mobile applications are developed and distributed. With over 250,000 apps and 6.5 billion downloads, the App Store has become the world’s largest mobile application platform and App Store developers have earned over one billion dollars from the sales of their apps.
We are continually trying to make the App Store even better. We have listened to our developers and taken much of their feedback to heart. Based on their input, today we are making some important changes to our iOS Developer Program license in sections 3.3.1, 3.3.2 and 3.3.9 to relax some restrictions we put in place earlier this year.
In particular, we are relaxing all restrictions on the development tools used to create iOS apps, as long as the resulting apps do not download any code. This should give developers the flexibility they want, while preserving the security we need.
In addition, for the first time we are publishing the App Store Review Guidelines to help developers understand how we review submitted apps. We hope it will make us more transparent and help our developers create even more successful apps for the App Store.
The App Store is perhaps the most important milestone in the history of mobile software. Working together with our developers, we will continue to surprise and delight our users with innovative mobile apps.
“
| — |
Natalie Kerris
Apple
nat@apple.com
(408) 974-6877 (Source: apple.com)
|
jQuery, XML Parsing, and XML Namespaces
I recently ran into a fun problem as I was using jQuery to parse an XML document that contained namespaced nodes. I first tried something along these lines: $(xmlDoc).find("namespace:tag").text();.
FAIL. This shouldn’t work since : is a special character in jQuery selectors. So as per the instructions in the Selectors documentation, I escaped the colon in the tag name:
$(xmlDoc).find("namespace\\:tag").text();.
FAIL. Using jQuery 1.3.x, this fails in all WebKit browsers. WTF? After some Googling, I figured out a round-about way to get at this tag using an attribute filter for nodeName:
Attribute filters, FTW! Hopefully if you find this post first, it will save you some time.
Beware of jacked toJSON implementations in Prototype and MooTools
I recently came across an annoying problem with the MooTools and Prototype JavaScript libraries where JSON serialization is concerned. Both add a toJSON function to Object which does not work very well at all. Both implementations do not serialize arrays nested in objects, so any Object containing an array will not be serialized properly (As taken from Google’s hosted version of Prototype:
toJSON: function(object) {
var type = typeof object;
switch (type) {
case 'undefined':
case 'function':
case 'unknown': return;
case 'boolean': return object.toString();
}
if (object === null) return 'null';
if (object.toJSON) return object.toJSON();
if (Object.isElement(object)) return;
var results = [];
for (var property in object) {
var value = Object.toJSON(object[property]);
if (!Object.isUndefined(value))
results.push(property.toJSON() + ': ' + value);
}
return '{' + results.join(', ') + '}';
}
Just a word of caution. I’ll try and file some bugs on the matter as time allows.