What is the current state of apple device (iPhone, iPod, etc.) support?

  1. What ubuntu applications provide support? (guides, how to's, status)
  2. Also, specifically, details on support for syncing music to iPhone's and iPod's with the latest OS version:

    • Can you sync music to apple devices using >iOS4? (iPhone & iPod)
    • What applications allow you to do this and how? (guides, how to's, status)

What has already been established is:

  • Apple does not support Linux and has no plans to.
  • libimobiledevice provides some support, however it currently does not support music/video synchronization with devices >iOS4. Go to libimobiledevice and scroll to the section titled "Status" to see if your device version is supported.

Solution 1:

This a constantly moving target. If you find a tool that works, Apple breaks it in a 'security update' (they sometimes use the term subjectively). For some iPods, try replacing the firmware with Rockbox. For iPhones stick with Windows or a Mac, or try setting up a Windows guest OS with VirtualBox in Ubuntu.

Apple will never allow this kind of interoperability to happen, long-term. You are going to have to accept their rules for their devices, or find a device that you can root and load with alternate firmware.

Solution 2:

Apples support of Linux is non-existing. There is not a single version of iOS that supports Ubuntu. Please file a bug with Apple.

Also, Apple frequently uses obfuscation techniques, which are likely to break the music database on iDevices.

RE: I just want to add here that I have filed numerous bug reports with Apple, also mentioning that I refuse to have Windows and therefore have Linux Ubuntu installed on my laptop as well as owing iPhone3, iPhone4, iPhone5 and an iMac and that it's quite frustrating that I can't use my Ubuntu to at least manage my music and so on... They have never replied a single letter, never mind any explanation and all that ignorance is pretty frustrating to the point that I will probably switch to Android device next time I`m getting a new phone.

Solution 3:

Try libimobiledevice. Scroll to the section titled "Status" to see if your device version is supported.

libimobiledevice is a cross-platform software library that talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. It allows other software to easily access the device's filesystem, retrieve information about the device and it's internals, backup/restore the device, manage SpringBoard® icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. The library is in development since August 2007 with the goal to bring support for these devices to the Linux Desktop. — http://www.libimobiledevice.org/

Solution 4:

Just going to add that it's libgpod that currently can't handle DBVersion > 4. The most recent release goes back to July, as does the most recent commit ( http://gtkpod.git.sourceforge.net/git/gitweb.cgi?p=gtkpod/libgpod;a=summary ) I don't know what the status is but my guess is that it's currently on hold and not being worked on.

They however implemented the following in version 0.8.2 so who knows when someone out there will provide a solution to this.

iPhone 4/iPod Touch 4/iPad/Nano 6g are still unsupported in this release. However, libgpod now has a mechanism to dynamically load a module named $libdir/libgpod/libhashab.so. This will be useful to easily enable support for these devices if someone comes up with a way to compute the music database checksum.

You can read the full release note here : http://old.nabble.com/libgpod-0.8.2-td32125543.html

=================

Update: User Israr Khan seems to be working on this right now, you can get a quick idea of the status on his twitter: http://twitter.com/#!/isrark

Solution 5:

While reading through this site and using google, I've found a way to be able to sync my iPhone 4 on iOS 7.0.2 on Ubuntu 12.04. These instructions I've compiled from other users, and from the libimobiledevice github repo.

First, make sure the following packages are installed, either through the Ubuntu Software Center, or through the Terminal:

git
libgnutls
libgnutls-dev
libplist
libplist-dev
libusbmuxd
libusbmuxd-dev
usbmuxd
make
autoconf # this should also install automake
autoheader
libtool
pkg-config
gcc

# optional but recommended

cython 
doxygen

Second, create a folder somewhere on your computer (I will use a folder on my desktop called libupdate).

Open the terminal and CD to that directory:

cd ~/Desktop/libupdate

Once you do that, type or copy/paste this into the console:

git clone http://git.sukimashita.com/libimobiledevice.git

Wait for the repo to download. Keep that Terminal window open

Once that completes, open the folder that was created when you ran the above command (should be called libimobiledevice). Double click the file called autogen.sh and click Run in Terminal. It will open a new terminal window that will close when it's finished.

To run these next commands first cd into the libimobiledevice directory that was created through the git clone command above by typing:

cd libimobiledevice

These next commands can be run as-is, but I recommend running as sudo to minimize chances of issues arising. The last command MUST be run as sudo. Run these one at a time, let them complete before running the next

./configure
make
sudo make install

Once this completes, restart your computer.

Once you log back in to your computer, unlock your iPhone. Ignore any dialogs that pop up on your computer. Follow these next steps EXACTLY AS I LIST THEM

  1. Plug the USB end of the cable into the computer
  2. Plug the iPhone end of the cable into the iPhone
  3. The trust dialog will come up
  4. You must be quick for this next step, tap on Trust and IMMEDIATELY UNPLUG THE IPHONE FROM THE CABLE! You must pull the cable out before the iPhone vibrates/reconnects and brings the trust dialog up again. If this happens, do this step again
  5. Lock your iPhone
  6. Plug your iPhone back in
  7. Unlock your iPhone, ignore any dialogs that pop up on either your computer or the iPhone (Trust Dialog shouldn't come up)
  8. In a Terminal, run the following command

    idevicepair pair

  9. The Terminal should report this as successful and your device should be accessible from your computer, to test this run Shotwell (from the terminal or the dash). Click on your iPhone and your pictures should come up.

You can also click on your iPhone in the devices section in the Nautilus file browser. If something comes up on your iPhone hit Trust ONLY ONCE! and click try again, continue, etc. on your computer. Your iPhone may then come up twice. The one that says documents is for apps that have some sort of file sharing/document access (like music downloaders or ringtone makers).

If you want to backup your iPhone, run this command

idevicebackup2 backup --full <path/to/where/you/want/to/backup>

If you want to backup/copy your photos and videos, open Shotwell and import your photos (CTRL+A, right click, import)

If you want to copy your music/music videos/movies onto your computer, open Rhythmbox and select your iPhone, then make sure you can see all of your music (videos and ringotones won't have a title, music might, depending if you ever edited their tags in iTunes originally). Then, select all (CTRL+A), and drag them into a folder on your computer. They might have weird names, blame iTunes.

I haven't tried adding anything yet, but atleast you can access your files and backup you iPhone now!