Live data from Hacker News

Apple starts rejecting apps with “hot code push” features

forums.developer.apple.com

171–180 of 498 posts

Re: Apple starts rejecting apps with “hot code push” features

#172

"Hi there -- I believe that title isn't quite accurate; Apple specifically is referring to behavior of a library called Rollout which lets people dynamically inject Objective-C/Swift. They are doing hot delivery of native, Objective-C code. It's really not about React Native nor Expo. Expo (and the React Native library we use) doesn't do any of that. We also make sure we don't expose ways to dynamically execute nativ…

Hi, I work on Expo (YC S16) and also am a core contributor to React Native. Apple's message reads to me that they're concerned about libraries like Rollout and JSPatch, which expose uncontrolled and direct access to native APIs (including private APIs) or enable dynamic loading of native code. Rollout and JSPatch are the only two libraries I've heard to be correlated with the warning. React Native is different from t…

I do wonder why, if they're _really_ fine with that, why they're not fine with browsers with different rendering engines on iOS.

Since they're not, I wouldn't have _too much_ faith in other things not being rejected.

Re: Apple starts rejecting apps with “hot code push” features

#173

Just imagine www didn't exist and Apple already had ios and apps. If someone came up with the idea of www and an app called web browser , would apple accept it in the app store? They would only accept it if they build it themselves. At some point is there a risk that Apple may also start to ban the web browser, despite that it's under strict control on IOS?

This is misleading FUD disguised as an innocent question. The strategy is to pose a seemingly reasonable hypothetical that, in reality, encourages folks to disregard common sense, ignore security best practices, and instead embrace their worst suspicions about the role that ecosystems play in modern technology.

Reject this naive approach to reality. No, we will not disregard Tim Berners-Lee's role, timing, or place in history. We will not pretend that Cupertino should ignore their responsibility to prevent arbitrary code execution on one of the most widely deployed platforms on the planet. If anything, we celebrate that despite Apple being a giant target for quite a bit of criticism these days (some deserved, some not), for the most part, people on this thread recognize what a giant, unacceptable vulnerability Rollout.io is.

Tech must advance beyond adversarial, animus-based, abrasive reactions to other operating systems, ecosystems, and the like. No time like the present and no better opportunity than some ignorant HN strawman.

Re: Apple starts rejecting apps with “hot code push” features

#174

That game that is topping the charts "Legacy", explicitly says when you start it that it's downloading patches. Wonder why it isn't blocked?

Patches could be assets - updated map data - updated textures - updated AI scripts? I don't think these need a full app store update as it's not changing the game from a game to a dating app (for example).

Re: Apple starts rejecting apps with “hot code push” features

#175

Just imagine www didn't exist and Apple already had ios and apps. If someone came up with the idea of www and an app called web browser , would apple accept it in the app store? They would only accept it if they build it themselves. At some point is there a risk that Apple may also start to ban the web browser, despite that it's under strict control on IOS?

They already have, to some extent. The only web browser (or, well, rendering engine) allowed on iOS is ones using the WebKit they provide. This is the reason is took ages for Firefox to appear on iOS, and even today isn't actually Firefox and thus can't make use of features usually in Firefox like supporting websites using CSS Grid, or WebAssembly, or Service Workers, or WebRTC, or...

Re: Apple starts rejecting apps with “hot code push” features

#176

Earlier quoted context omitted.

This is why you don't build on someone else's platform. Apple/Google/Platform Owner will always do what's right for them, not the customer, and not the developer, for example banning Amazon from selling books in their kindle app, not allowing competing browsers (they recognise the power of the web as a platform), not allowing competing sales mechanisms (where they don't get a cut), and here not allowing developers to…

Try making e.g. a game that is not on someone else's platform. Make a game that is not for PC or XBox or PS or Nintendo or iOS or Android or Facebook or Java or whatever. Count money. Oops, there isn't any. Or, try making a Photoshop clone, CAD software or similar without being on someone else's platform. Oops. "it don't work" :)

there are many games not in platforms you listed. those games are called board games, and they have been a resurgence of them lately.

as for video games, yes you'll be beholden to the platforms you build it under. this is why I say to devs, always build it cross platform!

Re: Apple starts rejecting apps with “hot code push” features

#177
post #94

Earlier quoted context omitted.

Right, like Uber, Snapchat, Facebook, Clash of Clans, Pinterest, Whatsapp, Instagram, Twitter, Waze, Shazam, Tinder, Match, YouTube, and basically every other app out there pulling out of the App Store would not be suicide. "At most", those companies would just have to "change their businesses".

If all those companies did pull out, then it would be the end of Apple.

Absolutely not. Apple was fine long before these companies came into existence, and Apple will long outlast these companies. New companies would come in to fill the spaces these companies will have left in days.

Re: Apple starts rejecting apps with “hot code push” features

#178
post #80

Earlier quoted context omitted.

Sure but a lot of React Native people use code push. I assume React Native is not affected as code push is just pushing JavaScript and not using JavaScript core to swizzle native code into your application like rollout does.

CodePush PM here - note that CodePush cannot push any native code to the app.

Can it call arbitrary native code? I think that's our probably going to be an issue if it can (I.e. If it can do loadFramework("baz").getClass("foo").callMethod("bar"))

Re: Apple starts rejecting apps with “hot code push” features

#179
post #169
post #150

Earlier quoted context omitted.

At this moment Apple is effectively banning web browsers except their own safari. The other browsers you see on iOS are just a wrapper over the native webkit view.

Probably a controversial opinion, but seeing how Safari is the only browser behaving correctly on macOS (performance- and battery-wise), I'd assume only Apple has the motivation to make a correct browser for iOS. Imagine the kerfuffle if Google had Chrome on iOS. 2% of "PC" users complain of Chrome hitting their battery hard on macOS. iOS has a much bigger market share. Competition is healthy, I agree. But sometimes…

why not let the consumer decide their browser of choice? Apple isn't prevented from creating battery efficient code by allowing others to write a browser.
Post reply on HN