Skip to main content

list custom tones in iOS settings by generating `/Media/iTunes_Control/iTunes/Ringtones.plist`

Project description

generate Ringtones.plist for custom iOS ring and alert tones

list custom tones in iOS settings by generating /Media/iTunes_Control/iTunes/Ringtones.plist

pip install ioscustomringtones

Instructions

  1. convert audio files to .m4a, then rename to .m4r:

    ffmpeg -i some_tone.wav some_tone.m4a
    mv some_tone.m4a some_tone.m4r
    
  2. mount the /Media/ directory of your iOS device to your local filesystem (this does not require a jailbroken device):

    mkdir ~/iPhone_Media/
    ifuse ~/iPhone_Media/
    
  3. copy your .m4r files to ~/iPhone_Media/iTunes_Control/Ringtones/:

    cp ~/Music/Ringtones/*.m4r ~/iPhone_Media/iTunes_Control/Ringtones/
    
  4. install ioscustomringtones with pip:

    pip install ioscustomringtones
    
  5. pass the directory you mounted to the write_ios_ringtones_plist command (see more options below):

    write_ios_ringtones_plist ~/iPhone_Media/
    
    Usage: write_ios_ringtones_plist [OPTIONS] MEDIA_DIRECTORY
    
      on a mounted iOS filesystem, reads existing `.m4r` files at
      `/Media/iTunes_Control/Ringtones/` and generates
      `/Media/iTunes_Control/iTunes/Ringtones.plist`
    
    Arguments:
      MEDIA_DIRECTORY  path to `/Media/` on the iOS device  [required]
    
    Options:
      --alerts-threshold INTEGER    number of seconds under which to
                                    assume sound is an alert tone vs a
                                    ringtone  [default: 10]
      --binary / --no-binary        whether to write `.plist` in binary
                                    format (as opposed to XML)  [default:
                                    binary]
      --write / --no-write          write to file; otherwise print to
                                    stdout  [default: write]
      --overwrite / --no-overwrite  write over an existing file
                                    [default: no-overwrite]
      --verbose / --no-verbose      print individual tones to stdout
                                    [default: no-verbose]
      --help                        Show this message and exit.
    
  6. unmount the /Media/ directory from your local filesystem:

    sudo umount ~/iPhone/
    

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ioscustomringtones-1.0.1.tar.gz (16.5 kB view details)

Uploaded Source

Built Distribution

ioscustomringtones-1.0.1-py3-none-any.whl (15.8 kB view details)

Uploaded Python 3

File details

Details for the file ioscustomringtones-1.0.1.tar.gz.

File metadata

  • Download URL: ioscustomringtones-1.0.1.tar.gz
  • Upload date:
  • Size: 16.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for ioscustomringtones-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c7b316cd9aa1126622e5dc842d47f5a01898dc0f182817884676aae58f660019
MD5 e2f0cc067792559b6a4feb758076bd7f
BLAKE2b-256 7d30d53f0ea754332d5ade11b40d97a7534f10a846ef67e5ab798f1e50200ec4

See more details on using hashes here.

File details

Details for the file ioscustomringtones-1.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for ioscustomringtones-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c34316c37eade504ec7c7ff57388f19e81c541416738a303169ba3824641b2fb
MD5 dd317073c6bedea30a373dbb977e56ba
BLAKE2b-256 5793c0ba6912d8695d0fe3cb5bf96043fc687f5d6195775093fce3e9dc0fad92

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page