/vlc-ios

VLC for iOS and tvOS official mirror

Primary LanguageObjective-COtherNOASSERTION

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.

Requirements

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

Building

VLC-iOS

  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.

Contribute

Pull request

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

Commit

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.

Communication

Forum

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

Issues

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!

IRC

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.

License

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

See COPYING for more license info.

More

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

We're happy to help!