You've probably heard by now that the latest version of iOS no longer supports Home Sharing. To substitute for this lost functionality -- as Jared Newman astutely noted -- many users will now likely turn to Plex or Subsonic. Shortly after reading Jared's report, I decided to look on the bright side, and to accept the loss of Home Sharing as a challenge.
So after a caffeine fueled hack-fest of experimenting, script writing, and app testing, I created the following nine step process for my Mac OS X Yosemite machine, a process that could also enable you to stream iTunes music from a Mac to other devices on your home network.
Create a new playlists folder under the home directory.
Using Finder, share the new folder, making sure the everyone group privilege is read only.
Copy the iTunes Music Library XML file, and place it in playlists.
Download Eric Daugherty's iTunes Export utility. If you chose the console version, extract the zip file to the playlists folder.
$ unzip ~/downloads/iTunesExportScala-2.2.2.zip -d ./playlists
Create UTF-8 M3U files (*.m3u8) based on playlist data contained in the iTunes Library file placed in the folder in Step 3.
$ cd ~/playlists
$ java -jar itunesexport.jar -fileTypes=ALL -useM3U8Ext -library=iTunes\ Music\ Library.xml
List all m3u8 files in the playlists directory:
Download my playlist.sh script from Github and place it in the playlists folder. This script transforms all of the "file:///" music links found in the original playlist to web URLs in a new m3u file, using the local machine's internal network IP as the webserver address.
This screenshot shows how I ran the script using a rock-n-roll playlist file name (Rock.m3u8) as parameter. The script used information from the m3u8 file to create a new "URL based" playlist file named Rock.m3u.
$ chmod +x playlist.sh
$ ./playlist.sh Rock.m3u8
Return to finder to view Home's Music folder information. The Shared folder property should be checked and enabled.
Next, click the everyone group -- found in the Sharing and Permissions section. This too, should have a read only privilege. If all looks well, click Apply to enclosed items...
Finally, open terminal to find Apache's DocumentRoot folder location. Create a symbolic link named Music in this location, linking it to Home's Music directory (~/Music).
$ cat /private/etc/apache2/httpd.conf | grep 'DocumentRoot "'
$ sudo ln -s ~/Music /Library/WebServer/Documents/Music
You now should be able to share iTunes music to phones, tablets, and other desktop computers connected via Wi-Fi to your Home's internal network.
For the iPad and iPhone, use the Goodplayer app to download the playlist file and stream music from your Mac's Apache server.
I downloaded the Rock.m3u playlist from my Mac's playlist folder via the SMB/CIFS Client menu:
Navigate to the Download folder and tap the Rock.m3u file.
In a technique very similar to iOS, download the m3u playlist file using explorer or other file manager, then use VLC to play the music stream:
This article is published as part of the IDG Contributor Network. Want to Join?