Programming language: Objective-C
License: GNU General Public License v3.0 or later
Tags: Media     Video    

VLC for iOS alternatives and similar libraries

Based on the "Video" category.
Alternatively, view vlc-ios alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of VLC for iOS or a related project?

Add another 'Video' Library


This is the official mirror repository of VLC for iOS and tvOS application.

You can find the official repository here.

It's currently written in Objective-C / Swift and uses VLCKit, a libvlc wrapper.


  • Xcode 11.0+
  • macOS 10.12+
  • Cocoapods 1.4+



  1. Clone VLC-iOS:

    git clone https://code.videolan.org/videolan/vlc-ios.git

  2. Run the command [sudo] gem install cocoapods (and then [sudo] arch -x86_64 gem install ffi on Apple Silicon devices).

  3. Run pod install (or arch -x86_64 pod install on Apple Silicon devices).

  4. Open VLC.xcworkspace.

  5. Hit "Build and Run".

Custom VLCKit

Mostly for debugging or advanced users, you might want to have a custom local VLCKit build.

  1. Clone VLCKit:

    git clone https://code.videolan.org/videolan/VLCKit.git

  2. Inside the VLCKit folder, run the following command:

    ./compileAndBuildVLCKit.sh -a ${MYARCH}

    MYARCH can be i386 x86_64 armv7 armv7s or aarch64.

    Add -d for a debug build (to have valid stack straces and asserts).

    Add -n if you want to use you own VLC repository for VLCKit (See VLCKit README.md).

  3. Replace the MobileVLCKit.framework with the one you just built.

    Inside your vlc-ios folder, after a pod update, do:

    cd Pods/MobileVLCKit

    rm -rf MobileVLCKit.framework

    ln -s ${VLCKit}/build/MobileVLCKit.framework

  4. Hit "Build and Run".

Beginner's Guide

Can't get your project to build or run? Head over to the beginner's guide for help on common issues beginners tend to run into.

If you can't find your problem on the guide, please feel free to submit an issue.


Pull request

Pull request are more than welcome! If you do submit one, please make sure to use a descriptive title and description.


We try to follow a simple set of rules, outlined by this guide.

Additionally, commit messages should have all the information needed to understand the commit easily as the following:

    Subject: Brief description

    Description in detail if needed.

    ticket related action

For example:

    UPnP: Remove iOS 7 compatibility code

    Closes #166

Gitlab issues

You can look through issues we currently have on the VideoLAN GitLab.

A beginner friendly tag is available if you don't know where to start.



If you have any question or if you're not sure it's actually an issue, please visit our forum.


You have encountered an issue and wish to report it to the VLC dev team?

You can create one on our GitLab or on our bug tracker.

Before creating an issue or ticket, please double check for duplicates!


Want to quickly get in touch with us for a question, or even just to talk?

You will always find someone from the VLC team on IRC, #videolan channel on the freenode network.

For VLC-iOS specific questions, you can find us on #vlc-ios.

If you don't have an IRC client, you can always use the freenode webchat.

Code of Conduct

Please read and follow the VideoLAN CoC.


VLC-iOS is under the GPLv2 (or later) and the MPLv2 license.

See [COPYING](./COPYING) for more license info.


For everything else, check our wiki or our support page.

We're happy to help!

*Note that all licence references and agreements mentioned in the VLC for iOS README section above are relevant to that project's source code only.