I missed this when reports first came out last week: with iOS 8.3, file managers such as iMazing and iExplorer can no longer access the document libraries of iOS apps over a USB connection.
Stop hitting yourself and start using a platform that actually fits your needs.
It is easier to code ON an Android device, but easier to code FOR an iOS device. Guess which is done more often.
As an app developer for iOS and Android, I don’t agree.
Developing for iOS is not easier. Android Studio is by far a better IDE than Xcode, Java is a slightly better language than Objective-C (although Swift has potential), the quality of the APIs for Android and iOS are roughly equal, iOS development can only be done on a Mac. Taken all this into account I have a slight preference for Android development.
And publishing an app on the Apple App store is a PITA.
Great. I manage a team that develops apps for both. 85% of the inane bugs are on Android. It’s easier to deploy to, but the implementations are buggy as all hell.
don’t need to peek into the documents directory. To suggest otherwise is ridiculous. I see no issue with Apple securing the OS more.
Edited 2015-04-21 00:48 UTC
rubberneck,
Apple’s restrictions are draconian and it’s motives are self serving.
Prompting the user would be just as effective in trapping malicous code in the sandbox. See this for what it is, a means of adding restrictions to stop the *user* from doing what he wants to in order to trap the user’s data in IOS.
Please do elaborate on how these restrictions are self-serving. Is Apple benefiting from losing users that want to do this? Is Apple somehow making money from this?
Nope. They just prefer security over customization. That might not be what you prefer but it is clearly a choice that seems to be working out for them.
If that were true there would be no viruses on Windows. It prompts you before it will let you run a program. Obviously a prompt is not as secure as just not letting something happen.
Sure.. they’re trying to trap the data of the 3 apps that can’t enable iTunes file sharing.. Very plausible.
leos,
When data is more accessible, it enables more applications to exist outside of IOS. When user accounts and/or data is locked into apple’s devices, it becomes harder for users to “stray”.
A good design doesn’t make those mutually exclusive. A good design should not prohibit users from doing reasonable things with their own data. I think there’s a lot of false drama over “security” to mentally justify apple’s restrictions. I challenge you to find tangible user complaints about the lack of these restrictions prior to IOS 8.3. Nobody was complaining, yet now after the fact apple has added more restrictions, we’re supposed to believe that users want more restrictions?
What makes you think windows is a good example of how to sandbox apps? All userspace applications running under your account can access all your files by defacto without any privilege escalation whatsoever.
It’s this lack of a sandbox that’s made it so vulnerable, surely.
You may not be aware, but the windows UAC prompts are for administrative rights that come up when changing the system, they don’t come up just to run normal apps.
Edited 2015-04-21 03:44 UTC
Except it isn’t locked in to Apple devices. Any app that wants to share the data can. This limitation applies to file browsers that were previous to 8.3 viewing the files of apps that had chosen NOT to share their Documents directory.
Since when are users the judges of security? User’s don’t complain about security holes, security researchers do. Isn’t hard to imagine how having a third party access the Documents directory of apps that haven’t shared that directory isn’t ideal.
Sure. But you’re advocating allowing users to escape the sandbox. That is clearly inherently less secure than not giving anyone the option.
And it isn’t hard to imagine that denying you – the user, not some untrusted app – that access, or the possibility to grant that access, isn’t ideal either.
They’re not denying anything. If the app you are using wants you to access the Documents directory they just set a flag in their plist. Or let you get the data out any number of other ways.
leos,
So, in the context of this article, is the author mistaken or is he right that he needed to copy paste his text into another app just to access his data? From the article:
If he’s wrong then that’s one thing. But if he is right, then apple’s approach to security is really broken. Security exists to stop unauthorized access, not prevent legitimate access.
Unless we condone vendorlock, then yes users should have the right to take their own data elsewhere (and do so without any vendor approval). This doesn’t mean IOS has to be insecure however. Just make sure access is authorized by the user.
Edited 2015-04-21 06:08 UTC
The author is correct in that the problem here is review guideline 2.8. That’s a problem for apps like Pythonista, not the 8.3 change. I totally agree this rule about scripts should be relaxed, but it has nothing to do with the topic at hand, its just a side effect.
leos,
It has everything to do with the topic at hand given that his last means of getting at the data directly has just been nixed. In the end it’s apple’s prerogative to impose such restrictions but at least I’m glad we can agree they are excessive.
Bolding mine. There is the problem right there…
I’m personally a big (huge) proponent of application centric UIs, but Apple’ approach to this just perplexes me to no end. Based on how iTunes file sharing works (which is a well designed feature that in reality has nothing at all to do with iTunes), it should be trivial to implement the ability for users to turn it off and on for their apps. Why not let users do that?
I don’t care if the developer wants to let me do that, it really isn’t any of the developers business. I bought the app, the app creates data, its my data.
There is no “escaping the sandbox”. The sandbox is still there. The only problem is the wrong people have the keys to turn it on and off.
Here’s reality… I have heard people say this “fix” was done because it makes it possible for 3rd parties to pull private data off the device without permission. So now people will complain because something they used to do no longer works. Developers, trying to make their users happy are now motivated to flip the file sharing bit on their apps (its easy, no real work involved). So now what happens. All the data is visible to 3rd parties again and the user cannot even turn it off.
Yep, that’s real secure…
If you don’t like how the app stores data, then don’t use the app. Just like nothing is stopping an Android app from storing data in a user-inaccessible format.
Were I to have an issue with how an app chooses to store its data then than I would take your advice. This is however a completely different issue. The problem is with how iOS chooses to expose access to said data.
Why is this mechanism contingent on a choice the developer makes, when their app isn’t even involved with the process of read or writing such data?
The point of data security is not to protect data from it’s owner, or to protect apps from their users, or to protect Apple from the boogie man. Hell, the point of data security isn’t even really to protect data…
The point of security is to protect the owners of data. Full stop. Apple actually goes to great lengths and does an absolutely wonderful job in this area (really, they do), except for this one glaring thing…
I’m not a anarchist – I have no problem with Apple protecting the integrity of their system, or giving developers tools to protect the integrity of their apps. But when it comes to data I own their job number one should be developing security mechanisms that give me control. That is just common sense really.
Nope. They just prefer security over usability.
Yes, that is bad (just like Android4.4’s sdcard writing lockout btw).
Is Apple somehow making money from this? YES. For a lot of basic operations with their device, users are forced to buy an app.
Please provide specific examples of those apps.
Or start doing things wirelessly, like the rest of the civilized world If I want to read a book or watch a movie on my iPad that’s currently on my PC, I just launch the app I want to read/watch with, and they both have various wireless transfer methods for that. This is the exact same way I do it on Android.
I know people will offer up cloud storage as an alternative, but a) there’s no such thing as cloud storage… there’s only hard drives you don’t own run by people you don’t know, and b) why the f-k would I transfer stuff to the cloud before transferring it to portable devices? My PC is online 24/7, and has over a terabyte of free storage
Agree 100% and iTunes supports wireless syncing since forever.
I think iOS “filesystem-less” approach is fantastic cause It’s simple enough for non-techy people.
OTOH advanced users (like you or me) find the way to access the filesystem if they need to.
You’re missing the point. Why in the hell should someone have to install iTunes just to access their personal files on their own private devices???
They don’t. They can email the files, stick them on Dropbox, Airdrop them, or share them in any other way.
So, should I email to may tablet 4GB of movies I plan to watch while away, with no internet connection?
You should have only ever bought these movies from iTunes, obviously. How dare you want to use your own files, after all.
And that’s easier and faster than connecting a USB cable and browsing the device storage like a flash drive???
Usb mass storage is a flawed solution. Even Android doesn’t officially support it any more. To successfully mount a partition, you need exclusive access to the FS, which removes it from the available underlying FS of the device. That is why Android now uses the Media Transfer Protocol exclusively on official releases, because it doesn’t have that restriction. If Apple supported MTP also, it would probably be better – but then the Mac doesn’t natively support MTP, so I guess they have no incentive?
It’s also pretty dang easy to eject the SD card on my Android device, insert it into the reader on any computer, and transfer user files back-and-forth at-will. Documents, photos, media files…
I can even eject the SD card and insert it into any other Android device (with a card slot of course). No special software required, no “permissions”, no restrictions, and most importantly no wi-fi or internet access required.
I couldn’t say if that’s faster than the USB cable method, but it’s almost as easy and doesn’t require toting around extra cables.
That depends a lot on the device. Some devices with card slots don’t make them quite so convenient to access, though at least none of them seem to have the brilliant idea to stick it behind the battery anymore. If both devices have convenient card slots though then it’s damn near perfect. And of course you have the option of Bluetooth file transfer if you absolutely have to, something else iOS doesn’t generally allow.
Transferring in and out of droid devices is easy, Wireless, sd, bluetooth, usb cable, they all work. iOS to computer and back is a pita, and you can forget about iOS to iOS unless both apps just happen to have client and server modes and support the same protocols (many apps can only act as client). If Apple really want to make the iDevices a post-pc reality then one would think they’d make transfers between your own iDevices a painless process. As it stands though, the quickest way is often to use a pc to do it. I do at least enjoy the irony.
Airdrop works great for me for any files that I have wanted to transfer (pictures, videos, recordings, any files out of dropbox, etc). What are you transferring?
As of when? My device is a couple of years old.
I connect one end of the USB cable to the device and the other end to the computer. The device is automatically detected by Windows XP and instantly appears in the Windows Explorer window.
It actually appears as two items in Explorer: the onboard storage and the SD storage.
Now if you really insist on making it as difficult as Apple and iOS, you can certainly do so using the Samsung Kies software. I have no idea why in the hell anyone would do that…
And if you truly wanted to handicap yourself, you absolutely CAN upload files from the Android device to online storage and then download them to your computer. Assuming you have WiFi internet access…
And if you ~really~ like jumping through hoops and wasting time, you can even use Android to email your files to yourself.
Android doesn’t support mass storage since, I think, 4.1 (someone correct me if I got the version number wrong) but it uses MTP. If you have a later version of Android, this is what your computer is using. To most modern GUI operating systems this is handled seemlessly (except on OS X which lacks MTP support and requires an app) so you probably didn’t even notice. Windows and Linux GUIs (with the mtp support installed) will simply just work, though to mount from the CLI now requires a different command.
Informative. Thank you.
Yes. Airdrop is much more convenient than hooking the thing up to USB and also faster in many cases.
LOL. Your reasoning kind of reminds me of this: https://www.youtube.com/watch?v=fVPZAXMCasI .
None of those methods allow me to get music off my computer into my iDevice. If you know a method that does (with the stock iOS music player), please enlighten me.
You can do that if you’re willing to play around with usbmuxd and the like. What’s worse though is going the other direction. Getting music on your devices is a pita but doable, but getting it off again is next to impossible even if you put them there yourself in the first place. iDevice stock apps are a media black hole: once you get it in there it isn’t ever coming back out.
My ponoplayer mounts totally open as 2 USB volumes in the finder, and the free jriver client manages it and all my media better than iTunes ever did.
Oh yeah, it also sounds about 20x better than any iDevice ever made.
Just sayin’
Fixed.
Several media players on linux support synching music if you can’t run iTunes. Not sure if any third party apps support that on Windows or OSX.
Like? I’ve tried many of the libmobiledevice associated players over the years, and they’ve never done the job 100%. I’d sometimes get about half my tracks/albums showing up on the phone, sometimes none. Aside from that, everything would stop working when Apple released a new point-release update to iOS, and by the time the Linux players/libraries caught up, Apple would’ve released another iOS update.
Leaving that aside, I never mentioned Linux specifically. I just want an OS agnostic way to drag and drop music files. Access my NAS directly, drag-n-drop (not stream) file. Plug in cable to my digital audio player directly, drag-n-drop file. Why is that so hard?
I actually paid about $30 bucks for a Mac app (Waltr) just so I could avoid having to launch iTunes on my MBP. Oh, but Apple, almost on cue, borks my phone with the next OTA iOS update, forcing me to launch iTunes and perform a restore anyway. It’s almost as if they keep logs of how many times I launch iTunes, and proceed to bork my phone when they want to make me launch that steaming pile of crap on the desktop, just to f*ck up my day. Post-PC my arse!!
Edited 2015-04-22 01:25 UTC
If you don’t manage your music using iTunes my honest recommendation is don’t use the stock music player on iOS either. I use cloudbeats (http://www.cloudbeatsapp.com/), but their are plenty of others. I feel your pain and have been there and done that… Yeah, you have to use dropbox, google driver, onedrive, or something other file sync service, but at least you don’t have to use iTunes
Much thanks for the advice and app recommendation. I don’t mind the extra step and bandwidth involved having to upload and re-download from a cloud service, but tell me;
1. Does the Cloudbeats player only stream from Dropbox (like the built-in player included with the Dropbox app, for instance) or can I actually download the files and play them back whenever?
2. Can it do gapless playback? This mainly pertains to mp3/m4a type files. Flac shouldn’t be a problem, but storage limits on iPhones aren’t conducive to having a lot of lossless albums stored.
The main reasons I use the stock player are because it handles gapless playback well, and is less finicky (no dropouts) when coupled with my bluetooth DA converter/headamp.
Also, mind listing a few of the “many others” you know of? I suck at App Store searches.
There is this one, but I have never used it:
https://itunes.apple.com/us/app/tunebox-dropbox-cloud-music/id475688…
Just google “dropbox ios music player”. Cloudbeats seems to be the most popular though.
This was listed in the new features of Cloudbeats 2.8.3
“gapless playback on mp3 and m4a tracks”
So it might work for you for at least some of your files.
Some people may consider that starting a sentence with a conjunction [“Or”] is not civilised. I’m ambivalent about it.
Only a tiny percentage of people in the world have regular access to secure high speed wireless.
Unfortunately most American companies seem incapable of understanding that 98% people live outside the USA.
They don’t have wifi routers outside the USA ?
WiFi was invented here in Australia (according the US courts).
What happens when you leave home?
a) There is no (public) WiFi on 99.999% of the Earth’s surface, in aircraft or on ships.
a) WiFi is intrinsically insecure (most people have no idea about VPNs)?
b) It would take you at least a week and cost many thousands of dollars to transfer a 1GB file by Iridium satellite.
Well, you said …
How else are people going to get to their files remotely outside their homes? Not like you’re going to wire up a USB cable that stretches for miles
Or, if you meant something else, I guess I just missed your point entirely.
Kilometers!
I do wish apps would decide on what transfer method to use though. Do I use ftp? Webdav? SMB? Is the webdav implementation buggy or not? This makes wireless transfer far more of a pain than it needs to be imho especially if you have several different apps to contend with.
I still see a use for wired transfers however, especially when large files are being passed. Unless you have 802.11AC, and all your devices support it already, a USB connection is still going to be faster when transferring large quantities of data. This is doubly true when you deal with Apple’s idiotic restrictions on how long a background wireless transfer is permitted before it simply terminates, meaning I have to turn auto-lock off and make damn sure I keep that app in the foreground if I want a large transfer to function as intended. It’s funny: Apple’s all about the wireless transfers, yet at the same time they do more than anyone to make it more difficult than it should be.
ifuse works fine still on linux, and after you mount your device you can browse the files just as usual with any file browser.
It’s not the only thing which is outright broken in iOS: http://linuxfonts.narod.ru/why-iphones-and-ipads-suck.html
Most people don’t care about these features. I find this whole discussion idiotic. Reminds me of the Amiga v PC bashing days.”Look, I can do this, you don’t, therefore your OS sucks”. Just keep using what you feel most comfortable with. And don’t worry about features nobody needs or wants. I think Android zealots have replaced the Apple fanboys these days. It’s just as annoying.
So Thom’s complaint is that Apple has updated iOS so that you can’t share files from an app, unless that app is enabled for file sharing? It’s a struggle to see what the problem is with that. It was obviously a bug that you ever could access those files, which Apple has now fixed.
Edited 2015-04-21 10:46 UTC
I used Android for a while, and ended up hitting myself before I even got to my needs. I hope it’s better now, for the sake of anyone intending to take your advice.
As for Mr. Viticci’s problem – yeah, cry me a river. iOS still doesn’t even let you drag ‘n’ drop music from your computer.
Edited 2015-04-21 11:06 UTC
One of the inherent problems with sandbox layouts is that data is on an island for each application by default. I used the Folders ap in iOS to move MP3’s onto my iPod only to find them unplayable. Cheesy.
Unbelievable…
Except that Android is no better since 4.4.
Everyone keeps saying that, but I’ve yet to find any evidence of it. On my Moto G 2nd gen (which I ultimately decided on as a new phone despite some of its compromises) I can read and write to my SD card without fuss. I can do it, apps can do it (I have several using the sd card). No, it’s not mass storage anymore but I can manage all my sd content just fine. The only thing you can’t do is write to the sd card from a USB cable which is annoying, but not a show-stopper like what Apple’s put in place. Android 4.4 made things a little worse and I don’t much care for that, but to say it is no better is rather over the top. I can still copy to the phone and use ES file explorer to move it to the sd, or I can stick the sd into any card reader and manage to my heart’s content. Seems like Google could just use a unionfs or something similar to put sd management via USB back in place though.