Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Apple

Apple Begins Rejecting Apps With 'Hot Code Push' Feature (apple.com) 149

Apple has long permitted "hot code push", a feature that allows developers to continuously deploy changes to their mobile apps and have those changes reflect in their apps instantly. This allowed developers to make quick changes to their apps without having to resubmit the new iteration and get approval from the Apple Store review team. But that's changing now. In response to a developer's query, Apple confirmed that it no longer permits "hot code push." The company told the developer: Your app, extension, and/or linked framework appears to contain code designed explicitly with the capability to change your app's behavior or functionality after App Review approval, which is not in compliance with section 3.3.2 of the Apple Developer Program License Agreement and App Store Review Guideline 2.5.2. This code, combined with a remote resource, can facilitate significant changes to your app's behavior compared to when it was initially reviewed for the App Store. While you may not be using this functionality currently, it has the potential to load private frameworks, private methods, and enable future feature changes.
This discussion has been archived. No new comments can be posted.

Apple Begins Rejecting Apps With 'Hot Code Push' Feature

Comments Filter:
  • Yea but they don't (Score:2, Interesting)

    by Anonymous Coward

    As someone who has worked on ios apps big and small, I will tell you the rules for big orgs are not the same vs small. If they want to "hot push" (ghey btw) a scheduled event in Disney Kigndoms, apple won;t say shit. If you want to "hot push" (ghey btw) an update to some pixel avatar app with 3 users, you get rejected.

    • Well yeah, the CEO of Disney sits on Apple's board. Of course there will be that sort of influence and exemptions.

  • Seriously, unless you're part of a big corp with big corp lawyers and money behind you why develop for Apple? You have to buy your way into their walled garden, give up a significant portion of sales to them, and be put through an obscured process to get approval to be published in a store. Which, if you're lucky enough to hit on something that's both novel and popular, is going to fill up with a bunch of clones within days of the first hint of success.

    If you're not doing it for the fun of being repeatedly

    • by mccalli ( 323026 ) on Wednesday March 08, 2017 @10:31AM (#53999753) Homepage
      Money. You're doing it for money, and that's where the app revenues are.
    • by rworne ( 538610 ) on Wednesday March 08, 2017 @11:36AM (#54000191) Homepage

      Let's see:

      I'm a one man shop that does App development as a hobby while simultaneously maintaining a full time job. Having someone handle 24/7 hosting and billing and a sort of rudimentary QA on the final product (so the users will trust it better) is something of value. In many cases, costs and time would be prohibitive for a new, small shop to do all these things itself. So they do something for that 30% other than rubber stamp it.

      Also, $99 is a pittance - how much do dev kits from Nintendo, Sony and Microsoft cost?

      Now another poster pointing out that the rules are different for larger companies that develop on Apple's platform - yes they are. I see competing apps that violate the backgrounding policies (for good reasons) that I could never get away with if I tried.

      One example is playing silent audio while streaming via DLNA from the iOS device to prevent the OS from putting the app to sleep after 10 minutes or so. A big company just does it and has done it for years without consequence. Another small developer in my niche needed to do this as well, but was forced by Apple to remove it unless there was a specific function for it. So the developer instead added a useless "visualizer" that made graphic effects to music picked up by the microphone which is then put in the background and hidden - just to get around the rules. I have not added DLNA streaming yet because of these headaches.

      • by Orphis ( 1356561 ) on Wednesday March 08, 2017 @12:05PM (#54000407)

        How much is an Apple computer? You can't compare the cost of the license without taking into account the hardware required.

        • I think most people that consider to write iOS Apps already have an Apple computer.

        • The Mac is a general purpose computing device. The dev tools (Xcode) are free. Yes, owning a Mac is a barrier to entry, same as a PC would be for other development targets, but Macs and PCs have many other uses aside from development.

          You can write iOS apps at zero cost to you and test them in a decent simulator on the Mac. If you think you have something, you can then fork over the $99 and put it on the App Store. If you own a PC instead of a Mac, then the cost of entry is based on your personal choice of

          • It is not enough to have a mac, you need to have a recent >=~ 2010 mac to be able to use the latest OS and xcode. Now, if anything had happened with the mac line since 2010, maybe there would be a reason except to grab money, I *guess* you can develop android apps on a 386 with enough memory, but certainly on Apple hardware from 2010 that allows *much* more memory and power than the 2017 mac "pro".

            • A 2010 Mac is not "recent".

              As a matter of fact I was developing iOS apps on a 2012 Mac until last year. Then I had to work on the Android version on one, and the Mac wasn't good enough. It would compile, but it took 10 minutes to do so. Obviously that's not practical. It's Android that required me to upgrade my Mac, not iOS development.

      • Also, $99 is a pittance - how much do dev kits from Nintendo, Sony and Microsoft cost?

        The value of the hardware and R&D time that went into them and will continue going into them to keep them up to date.

        How much does the binary field in your Apple account record cost, again? $99? If that's the price Apple pays for a bit, I see why they have to charge so much for their hardware.

        • by mlyle ( 148697 )

          > and will continue going into them to keep them up to date.

          Yes, but they could give all that to you free, too. Why are they allowed to recoup tools R&D cost and not Apple?

          The marginal cost of all these things is low. Even the dev hardware from Nintendo, Sony, and Microsoft. The real cost is the initial development, the cost to build the first unit, and maintenance.

          • Apple fills in a date field. Hell, they don't even have a PERSON fill in the date field, it's done by the same script that processes your $99 payment. The other send out physical hardware and ongoing updates to that hardware and its firmware. Apple collects 30% off the top, which they can use to fund "R&D" associated with the database field that allows you to submit software for review.

            I might be cool with them charging some reasonable amount per submission. You know, to cover the cost of the review a
        • $99 is just a token sum to keep out the complete time wasters. Like you.

          • Oh, so you know me, then? Nah, didn't think so. Why with the personal attacks?
            • Because whining about the $99 in every iOS development thread for the last 10 years *is* time-wasting. It's a trivial sum. If you think it's significant, then you are not a developer, you're a time waster.

              • First of all, I'm not whining about it, nor have I been doing so for the last 10 years, or in every iOS development thread.

                Second, as an iOS developer, I've paid it. Many times over. That doesn't mean I don't understand why others complain about it, which is what I was explaining above, in response to a direct question.

                So, as I said before: you know me, then? Nah, didn't think so. Why with the personal attacks?
      • by tlhIngan ( 30335 )

        One example is playing silent audio while streaming via DLNA from the iOS device to prevent the OS from putting the app to sleep after 10 minutes or so. A big company just does it and has done it for years without consequence. Another small developer in my niche needed to do this as well, but was forced by Apple to remove it unless there was a specific function for it. So the developer instead added a useless "visualizer" that made graphic effects to music picked up by the microphone which is then put in th

    • by Anonymous Coward

      This isn't a change to the rules. The rules always stated that you weren't allowed to do out-of-band updates that don't go through the review process. They're just enforcing the existing rules better.

    • Because iOS users are more likely to pay for an App than Android users.

      And as long as I only sell Apps that cost below $3, I don't care that Apple takes a $1 as fee: I have no hassle with writing bills, sales taxes, credit card/debit card billing etc. And no hassle with: download, storage, bandwidth, license keys and and and

      You must be a user instead of a developer ...

    • > Seriously, unless you're part of a big corp with big corp lawyers
      > and money behind you why develop for Apple?

      Ok, here's a challenge: write an Android-only app to collaborate or organize some kind of group activity, then try to get any real-world group (besides literal Android developers) to USE it. The moment somebody realizes it can't be used by group members with iPhones & iPads, your app will become dead and irrelevant to that group, unless it's LITERALLY a group overwhelmingly comprised of

  • Surprised (Score:4, Insightful)

    by tonyyeb ( 4187219 ) on Wednesday March 08, 2017 @10:29AM (#53999739)
    Surprised they ever allowed developers to do this? Surely in defiance of the objective of it being checked in the first place if you can just change it once approved.
  • so each new map in a game needs to wait for the app store review system to push it out?

    • A map is data, not code.

      Or you seriously did something wrong.

      • A map is data, not code.

        The line is fuzzy. What if the "data" for your map says that when the user walks over a specific location, call a specific function? What if those functions can accept information about the state of the game at that point? What if that map data can contain multiple function calls? At some point that map data starts to look like a script, and scripts look an awful lot like code.

  • The apple doesn't fall far from the tree.
  • Recipe for disaster (Score:5, Interesting)

    by JustAnotherOldGuy ( 4145623 ) on Wednesday March 08, 2017 @10:55AM (#53999903) Journal

    "Apple has long permitted "hot code push", a feature that allows developers to continuously deploy changes to their mobile apps and have those changes reflect in their apps instantly. This allowed developers to make quick changes to their apps without having to resubmit the new iteration and get approval from the Apple Store review team."

    Is it just me or does this seem like a recipe for disaster, ripe for abuse in the worst possible ways? And not just by the developer, but by anyone who hacks the developer's tool chain or system.

    In other words, you could push the most intrusive, malevolent, destructive code to a user's device at will with no oversight.

    Who thought having this capability was a good idea?

    • Hot fixes such as this should be limited to enterprise apps only - i.e. apps that don't affect the world.

      Was the hot fix permitted for all apps or just enterprise apps? If the former, then it should be definitely be removed.

      • by Anubis IV ( 1279820 ) on Wednesday March 08, 2017 @11:19AM (#54000063)

        Hot fixes such as this should be limited to enterprise apps only - i.e. apps that don't affect the world.

        Was the hot fix permitted for all apps or just enterprise apps? If the former, then it should be definitely be removed.

        Enterprise apps don't have to go through the review process because they aren't in the App Store in the first place. They're distributed privately, with the enterprise signing each app using a cert and each employee's device being configured to accept apps signed by that cert. Updates can be deployed directly to employee devices, as a result.

        As for apps using this feature, I know that a variety of games download content updates outside of the App Store, though if I had to guess, I'd wager that when Plants vs. Zombies 2 and Final Fantasy Record Keeper say they're downloading new content, it's just a package of art assets and the like that the existing executable knows how to parse. If it is arbitrary code, however, I'd also wager that I'll suddenly see those games issuing a lot more frequent updates, given that FFRK pushes out content updates 1-2 times per week as it is.

    • by thomn8r ( 635504 )

      In other words, you could push the most intrusive, malevolent, destructive code to a user's device at will with no oversight.

      It's called Windows Update

      • In other words, you could push the most intrusive, malevolent, destructive code to a user's device at will with no oversight.

        It's called Windows Update

        Yep, before you could simply say "no", but thanks to Microsoft, the "no" button has been removed.

        "Install updates? Click 'Yes' to continue or 'Yes' to continue."

    • by cfalcon ( 779563 )

      > In other words, you could push the most intrusive, malevolent, destructive code to a user's device at will with no oversight.

      That's absolutely the risk.

      > Who thought having this capability was a good idea?

      I think it is for online games and other situations where a bug might otherwise mean a server outage until it could go through a code review. It's still a terrible idea.

      Anyway, I would suspect that the timing of this is not a coincidence, given the vulnerabilities alluded to in the news recently.

    • Is it just me or does this seem like a recipe for disaster, ripe for abuse in the worst possible ways? And not just by the developer, but by anyone who hacks the developer's tool chain or system.

      In other words, you could push the most intrusive, malevolent, destructive code to a user's device at will with no oversight.

      Who thought having this capability was a good idea?

      The same people who invented JavaScript?

      • by whh3 ( 450031 )

        Is it just me or does this seem like a recipe for disaster, ripe for abuse in the worst possible ways? And not just by the developer, but by anyone who hacks the developer's tool chain or system.

        In other words, you could push the most intrusive, malevolent, destructive code to a user's device at will with no oversight.

        Who thought having this capability was a good idea?

        The same people who invented JavaScript?

        Or major developers like Mozilla and LibreOffice Microsoft and ...

        The list could go on forever. The point of this functionality is that, as users, the programs we run can immediately be patched with the latest updates so that security threats, when discovered, can be mitigated immediately. Consider that Apple might sit on an update for several weeks while it reviews changes. At the same time, the user is exposed to the security vulnerability that the developer is attempting to close.

        I completely agree that

    • by mad7777 ( 946676 )
      Who thought having this capability was a good idea? Well... the inventors of the worldwide web, for one thing. Remember that old thing? It allowed users to download content and code (ok, it's Javascript, but it's still code), without anyone's permission. It was called the open internet. What a weird idea!
    • by Jeremi ( 14640 )

      In other words, you could push the most intrusive, malevolent, destructive code to a user's device at will with no oversight.

      Isn't this also true for Javascript-embedded-in-a-web-page?

      In both cases, the only thing standing between the user and catastrophic fiery death is the security of the execution environment -- either the sandbox keeps the malware from causing damage, or it doesn't. At least in the Apple Store case, the downloaded code is authenticated as coming from a known/registered developer, so there is some (slim) chance of them being held accountable for anything negligent/malicious they might do to your phone.

  • by jafiwam ( 310805 ) on Wednesday March 08, 2017 @11:12AM (#54000013) Homepage Journal
    Seems like the timing of this might be related to the information released by WikiLeaks about what the CIA has been doing. Being able to get into just about any mobile or IoT device for example.
    • by seoras ( 147590 )

      Or that this news story gave them the excuse, or just cause, to do what they've been wanting to do for a long time.
      Apple must have been too afraid of upsetting any of the large publishers to have let it go on for so long.
      It smacks more of opportunistic timing than of being reactionary.

  • I see that... (Score:3, Interesting)

    by BronsCon ( 927697 ) <social@bronstrup.com> on Wednesday March 08, 2017 @11:58AM (#54000351) Journal
    Apple is finally closing the back door that allowed malware to get passed the app review process, though they won't admit that's why. I can talk about it now that it's finally being fixed, I'm just astonished that it's taken them this long!

    And all of you thought I was crazy for saying it was possible.
    • Whoever modded this interesting, thank you for countering the troll mod. No trolling going on here. [slashdot.org] Maybe a little flamebait at that link, though, if complete honesty about something people don't want to hear can be considered flamebait.
      • To back up the claim that you've been saying this for 4 years, you'd have to do a link to a post of yours from 4 years ago. Not one from today.

        • I wasn't attempting to back up the claim that I said it 4 years ago; in fact, I didn't say it here until, if I recall correctly, some time last year when I had an iOS fanboi up my ass with how insecure Android is (but he can't talk about it because NDA) while iOS is supposedly perfectly secure. Of course, as I was (and still am) under NDA, I stayed a bit more tight-lipped than he did about it.

          Beyond that, I honestly don't care if you believe me; at least not enough to be bothered to go through over 100 pa
  • In one fell swoop, Apple just broke all Meteor apps, and probably any other hybrid framework.

    So I suppose we're all supposed to develop iOS apps using Apple-proprietary technologies now? No thanks. I'm old enough to remember the open internet, before the invasion of the phone-pokers.

    What I'm trying to wrap my head around is where they draw the somewhat arbitrary line between downloading content and downloading functionality. I mean, any app that connects to the internet has the potential to download

    • Web content, including Javascript is an explicit exception to the rule banning downloading code.

      And if Apple know you're charging a fee, via whatever method, to get around app store fees, then they'll reject the app.

  • by 0xdeadbeef ( 28836 ) on Wednesday March 08, 2017 @01:27PM (#54001079) Homepage Journal

    It is apparently in response to something called Rollout.io [rollout.io], and looking at what it does, holy fucking hell, how the fuck has such a thing existed as long as it has, and why did those dumb fucks think Apple would be cool with them hot-patching code?

    What concerns me is

    This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior or call SPI [sic],

    which means no method swizzling and no introspection, which is absurd. You can't even implement many idiomatic Objective-C patterns without respondsToSelector. Maybe the key is "arbitrary parameters", though in that case, they should be looking for calls to NSSelectorFromString, not these methods.

    This is also seems to rule out calling a web service through a JavaScript front-end published by the server. And hell, most jailbreak checks call dlopen. Apple will be screwing over anti-cheat and anti-piracy techniques so they can enforce their own security theater.

    • by balbeir ( 557475 )
      Yeah that rollout.io thing looks like it's designed to circumvent the apple app store rules. Very robust business plan.

      "We're hiring". Probable not any more.

    • That kind of dynamic programming is more or less dead when you switch to Swift anyway.

  • The description of "hot code push" sounds like something Facebook and Messenger are doing on iOS. They both change the location of buttons (and occasionally some functionality)--like moving the Messages icon in the Facebook app to the top left and replacing it with a useless Marketplace icon--without needing to submit a new app, among other continual and usually annoying changes in Messenger itself. (Or at least the change isn't obviously correlated with a new app version; they don't write real changelogs,

    • I don't know specifically about those apps. But many apps do it as a natural result of them being little more than web-apps running in web-view.

      • I don't know specifically about those apps. But many apps do it as a natural result of them being little more than web-apps running in web-view.

        Yeah, I think Facebook tried that with their early iOS app (or at least they said it was "HTML5"), but I believe a few years ago they rewrote it to be "native." Not sure if they've gone back or what (or just hybridized), but both it and especially Messenger keep changing more than you'd expect for a typical app.

  • If you publish on iTunes App store, as I do, you'll know that releasing a new version has the knock on effect of lowering your installs due to 2 things that happen on each new release:
    1) iTunes App's have 2 ratings. An all time rating and a current version rating which goes to 0 on updates causing your app to lose popularity with installers.
    2) iTunes keyword ranking is affected by current rating, not significantly, but enough to drop you a few places and 1/2 your installs until (1) improves again.
    The App st

  • by jtara ( 133429 )

    Anyone else notice the correlation between this and Uber walking-back Greyball?

    I suspect Apple threatened the nuclear option. Greyball would definitely qualify for removal from the App Store on the broader issue here of undisclosed/changing app behavior as well as just plain out-and-out fraud.

    I would have rather seen Uber removed from the App Store, though, than whatever back-room deal was made. There was no second chance, for example, for Kepeli/Dash. (Dash is an offline API documentation reader app. The a

Know Thy User.

Working...