
Vine mistakenly ships iOS app with debug mode enabled - robbyking
http://www.scoopnest.com/user/MattNavarra/669211053188849664
======
anc84
Dear god, what a horrific Twitter scraping site. Here is the actual source:
[https://twitter.com/MattNavarra/status/669211053188849664](https://twitter.com/MattNavarra/status/669211053188849664)

~~~
seba_dos1
Thank you! That scraping site is completely unusable with privacy addons
enabled.

------
ilyanep
As always, a good reminder to treat all debug text as if customers will be
seeing it :)

~~~
bmelton
I've always taken the opposite route, and insisted that my debug text be as
profane as possible, to ensure that I wouldn't possibly ship it with them
included.

99.9% of the time, this seems idiotic, and it is, but while it does force me
to be careful (which doesn't remotely outweigh the self-imposed idiocy), there
was this one time where it did benefit me quite impressively. when a co-worker
was trying to take credit for having written a web app that he literally wrote
zero code for. He would get there early in the morning before I could and
schedule product demos to management so he would get all the credit for what
was essentially my pet project. That all worked great for him until one of the
error states insisted that the managers of the Fortune 50 company I was
building this for all do something profane.

~~~
metamet
The Casper theme for Ghost (the most popular base theme people work from) has
a comment at the end of its screen.css that makes me laugh:

    
    
      /* ==========================================================================
         End of file. Animations should be the last thing here. Do not add stuff
         below this point, or it will probably fuck everything up.
         ========================================================================== */

------
rmc
Doesn't Apple claim that the point of the review process is to catch these
sort of things?

~~~
matthewmacleod
No.

~~~
rmc
Literally line 1 of the Apple App Store review page:

> "We review all apps submitted to the App Store and Mac App Store to ensure
> they are reliable, _perform as expected_ , and are free of offensive
> material."

[https://developer.apple.com/app-
store/review/](https://developer.apple.com/app-store/review/)

~~~
dspillett
Perhaps having a debug feature _is_ performing as expected? It certainly might
be in some cases.

I wouldn't expect a reviewer to reliably know the difference between
diagnostic features deliberately present to help with remote support when
people have issues and diagnostic features that should only be exposed to the
developers.

~~~
danlindley
Presumptions regarding 'performing as expected'. It can't fail!

------
justusw
While this incident is quite amusing, I wonder if this could have any negative
impact, like unwanted discovery of weaknesses in the API? Otherwise it appears
to me that Vine mistakenly shipped a less polished version of their iOS app
with no actual negative implications.

------
robbyking
I'm really curious as to how this happened. In the app I work on, all of our
debug features are wrapped in Preprocessor Macros so they'll only run in debug
mode.

~~~
ldidi
Happened to me at my previous company. We had a bunch of #ifdef DEBUG that
wrapped non user-facing code. One day someone added DEBUG=1 in debug mode,
DEBUG=0 in release mode, which led to the macro check always being true. The
change was hidden in the Github PR since it was in our .xcodeproj. Nobody
noticed, but even if we did, I'm not sure we would have guessed the actual
impact of it.

~~~
Camillo
I think people overuse #ifdef when they should really be using #if.

~~~
mikeash
I'd wager that less than 10% of iOS programmers know that #if works (by
treating as false) when the token is not defined.

------
axx
I'm sorry to be that guy, but if we had more "open" distribution ways for
smartphones, something like this wouldn't have happend. Because they would
have noticed it early on (to fix it) before anybody else would have.

Now they have to wait before Apple approves their next update.

~~~
frankiechh
Mobile software != web site.

Get over it. It's Apple's platform. Move on...

~~~
swiley
Linux software also != website but doesn't suffer from these problems. Current
mobile software really sucks in pretty much every way and there's nothing more
to be said.

~~~
tblt
> Current mobile software really sucks in pretty much every way and there's
> nothing more to be said

I don't know what perspective you are coming at this from, but from my
experience with non-technical iOS users, installing/managing/removing mobile
software in a safe manner is a much better experience than compared to their
PC's. My grandparents are fully capable of managing software on their iPhones
- if I asked them to do the same on Linux...

~~~
aianus
If safety for noobs is the rationale then why can't they ship iOS with a deep
down hidden switch that allows side-loading?

To keep out the noobs they could make it require a command line tool and
display an extra scary warning and have it void the warranty.

I don't see why we should all need to suffer because of the majority's
ignorance.

~~~
tblt
Recent changes to iOS allow side-loading[1]. In answer to your point about the
majority's ignorance, I suspect the reasons are varied but if there's a way to
circumvent these kind of protections, non-technical users can be coerced into
doing so. An example is Facebook disabling the developer console in the
browser after users were coerced into using it against themselves[2].

[1] [http://bouk.co/blog/sideload-iphone/](http://bouk.co/blog/sideload-
iphone/) [2] [http://stackoverflow.com/questions/21692646/how-does-
faceboo...](http://stackoverflow.com/questions/21692646/how-does-facebook-
disable-the-browsers-integrated-developer-tools)

------
andy_ppp
If your App is written in React Native or Cordova then code-push is your
friend...

[https://github.com/Microsoft/react-native-code-
push/](https://github.com/Microsoft/react-native-code-push/)

~~~
chrisan
That looks/sounds awesome. Have you run into any negatives using it?

~~~
frankiechh
Yeah. JavaScript.

Duh...

------
raverbashing
Coming from Vine this is not surprising

Probably the _worse_ app I've seen on Android. Almost to the point of being
unusable

Instagram with videos probably took 95% of their initial users.

------
vermooten
Shit happens. Move on.

------
frankiechh
Guess they hired the wrong iOSers...

------
eddd
Is it really the way to debug your iOS apps, add some features instead of
tests?

~~~
iLoch
As with every single piece of software in the world, that would be up to the
people who implement it.

~~~
eddd
I just asked if this is a common way to do this, but apparently all the iOS
devs felt offended - I will not comment on this.

Thanks for the answer anyway :)

