Apple Relaxes iOS Development Tool Restrictions
An anonymous reader writes "Earlier this year Apple caused major upset among developers by updating the iPhone developer program license with clause 3.3.1. It basically stopped the use of cross-platform compilers, meaning Adobe Flash could not be used to develop an app for the App Store. The move also put into doubt which other development platforms could be used and generally caused a lot of confusion. Apple has just significantly relaxed that policy and allowed for the use of development tools, as long as 'the resulting apps do not download any code.'"
More importantly, developers will no longer have to second guess the reasons why apps may or may not be accepted. From the statement:
"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."
This was all about Unity, which basically does exactly what Adobe's Flash packaging tool did for the most part. The Unity game tools have been used to develop some fairly popular iPhone games, and Apple knew it couldn't continue to authorise Unity based apps whilst denying apps created with Adobe's tools without falling foul of competition laws. Similarly, by kicking Unity off too they'd be throwing away from of the iPhone's most popular games.
So the question now is, does this mean if Adobe tries to release it's tools again that Apple is going to let it, or are they now going to try and find another excuse to deny Adobe access to the platform?
Apple stood to lose far more if it continued to stand by this policy, and if it stood by the policy whilst letting some apps through it also stood to face the DoJ, so it had to decide one way or the other.
This is the actual statement by Apple.
Also, I've read some rumors about the next iLife '11 having a new program for creating iOS apps in a similar way to the Android's AppInventor. This new statement seems a like a pointer in that direction, otherwise they would have a hard time arguing about antitrust issues on the App Store...
exp(i*pi)+1=0
It's refreshing to see Apple wrong so many times in a row. Watching them backpedal is amusing.
When was Apple wrong? Apple was never wrong. Apple knew this was right all along. There is no evidence of the old license. The old license never existed. It is dead now. Apple never endorsed it. It was a lie made by Apple's enemies to discredit Apple's name. Apple is good. Apple would never hurt you. Apple is your friend. Apple is magic. Apple has never backpedaled. Apple is at war with Google. Apple has never been at war with Microsoft. Why do you hate Apple? Apple only wants to help you. You are clearly disturbed. Apple wants to assure you this is not your fault. Please report to your nearest iThoughtCorrection facility. Apple is your friend. Trust in Apple. Apple is your friend.
But most people wouldn't have blamed Flash - especially if there wasn't an easy example of a non-flash version to point to. They'd have blamed the iPhone. Most people, even most iPhone users, don't read /. or related sites - that's one of the reasons that the iPhone has been a smashing commercial success, you don't need to be a geek to use it (N70, I'm looking at you here). Keeping Flash off the platform was exactly the right business decision to make.
Even if Adobe would release a version that wasn't a battery killing unstable one - which would be a great start - the usability experience isn't close to being there for multitouch devices. And the iPhone is all about user experience.
You're special forces then? That's great! I just love your olympics!
Jailbroken and/or pirated apps are easily detected. So easily detected, that Apple doesn't really bother, because apps can do it themselves.
Firstly, an app downloaded from the App Store has DRM on it, which consists mostly of encrypted portions of the binary. That binary is then signed. On running the app, the kernel loads the app, validates the signature, then in-memory decrypts the binary, and finally runs it.
A cracked app can't be re-encrypted for a specific device, so they're shipped decrypted. The kernel, however, cannot load unsigned binaries unless a special flag is set to indicate that it's a decrypted binary that's OK.
An app just needs to check for that flag which exists in its info.plist file. It can do several checks - first, is info.plist in text format (it should be binary XML)? Second, do those keys exist in the file?
The apps that do the obvious checks are quickly re-patched to disable those checks, but there's nothing to say that an app has to pop up an "I'm pirated!" notice - it can silently report its pirated status to the server, for example, but otherwise run normally. Most crackers don't check, and most pirates won't bother. Even the ones running Firewall IP (a really nice firewall alert). You need someone to actually go and sniff the WiFi transmissions to ensure it's sending the same data to the server. Use SSL and you're golden. (Sure the pirate could disable all network access, but then who cares about single-player cheating?).
Also, assets are signed as well, so replacing all the textures with transparent ones also have the exact same issue - you have to go and decrypt the binary, make your mods and set the flag. There are also tests for jailbroken phones as well.
Online multiplayer is not a huge thing on iPhones, iPads and iPod Touches - at least, the ones where you can't do server-side validation of inputs (which you should do anyways). Local multiplayer may be a bigger deal, but there are probably social pressures against that behavior as well.
I think this line from the guidelines is pretty funny:
"If your app is rejected, we have a Review Board that you can appeal to. If you run to the press and trash us, it never helps."
So basically, don't snitch.
To the contrary, however, in the past, it seems like running to the press and trashing them can really help get your app approved.
See, e.g. http://apple.slashdot.org/story/10/04/16/2327219/Bad-PR-Forces-Apple-To-Reconsider-Banning-Mark-Fiores-App
We all know companies that'd rather die than admit they were wrong.
Yes, Apple. Does this sound like a mea culpa?
They didn't admit that their critics were right, the said that they "listened to their developers". As one of those developers, I assure you that what they really listened to was negative press and Android's rising numbers.
It's always wise to do a risk analysis before embarking on a new project. Don't forget to factor in the possibility that you'll spend so much time posting ridiculous scenarios to slashdot that you never get round to doing the work.
Get off your high horse.
Just because Apple doesn't carry out the wishes of every individual developer doesn't mean they don't listen. The ENTIRE POINT of the app store is to allow developers to create and distribute great software.
Do you seriously think apple doesn't give a shit about developers? If that was true, there would be no app store at all.