Slashdot Mirror


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.'"

5 of 347 comments (clear)

  1. Apple's Statement by amolapacificapaloma · · Score: 5, Interesting

    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
    1. Re:Apple's Statement by amolapacificapaloma · · Score: 3, Interesting

      All this is highly speculative, but I'd expect it to be like Automator on OS X, and the "apps" not being submitted to the store, but used but executed inside an apple made app. Easy way for power users to scratch their own itches, and a nice mousehole in the walled garden... Pure speculation though.

      --
      exp(i*pi)+1=0
  2. Re:More importantly by Sarten-X · · Score: 4, Interesting

    It's to prevent/reduce the lawyer-like arguments. The moment a set of guidelines becomes public, people start trying to find loopholes. Arguments about terminology, implementation, and technicalities ensue. Then the rules get updated to account for what's been argued already, which brings in a new set of loopholes. Soon, a whole new industry springs up around just knowing the rules, and the whole process grinds to an inefficient halt.

    It's much easier to keep guidelines internal, and only release very general suggestions.

    --
    You do not have a moral or legal right to do absolutely anything you want.
  3. Re:Problem by tlhIngan · · Score: 4, Interesting

    There are still interesting problems in not allowing to download or update any code. With the rise of jailbreaking iPhones and them running unsigned and modified applications (cracked and/or otherwise), there is no way for an anticheat system to update itself. All anticheat systems like Valve's VAC, PunkBuster and Blizzard's Warden rely on downloading updated code from the internet.

    What this means for online iPhone games is that when someone releases a hack for the jailbroken iPhones, their users can completely ruin the games and legit players cannot do anything. And since Apple is a control freak, they check every update to your application slowly and ineffectely. All while the hacking is rampant and ruins everyones game.

    There certainly are need for updating code and Apple needs to remove that clause too. We don't want walled gardens controlled by mega corporations, we want systems we can use the way we want.

    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.

  4. Opening it up will just prove Apples point by grapeape · · Score: 3, Interesting

    After the disaster that has been flash on Andoid so far, perhaps this is just Apples way of saying "see we told you". I expect a plethora of sub-par apps flooding the app store soon, in the end this will probably help HTML5's cause much more than Adobe.