Skip to content
Snippets Groups Projects
README.md 4.58 KiB
Newer Older
Soomin Lee's avatar
Soomin Lee committed
<h3 align="center">
  <a href="https://www.videolan.org/images/vlc-ios/readme_banner.png">
  <img src="https://www.videolan.org/images/vlc-ios/readme_banner.png?raw=true" alt="VLC-iOS banner">
  </a>
</h3>

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

_You can find the official repository [here](https://code.videolan.org/videolan/vlc-ios/)._
Soomin Lee's avatar
Soomin Lee committed
It's currently written in Objective-C / Swift and uses [VLCKit](https://code.videolan.org/videolan/VLCKit), a libvlc wrapper.
Soomin Lee's avatar
Soomin Lee committed
- [Requirements](#requirements)
- [Building](#building)
  - [VLC-iOS](#vlc-ios)
  - [Custom VLCKit](#custom-vlckit)
  - [Beginner's Guide](#beginners-guide)
Soomin Lee's avatar
Soomin Lee committed
- [Contribute](#contribute)
  - [Pull request](#pull-request)
  - [Commit](#commit)
  - [Gitlab issues](#gitlab-issues)
Soomin Lee's avatar
Soomin Lee committed
- [Communication](#communication)
  - [Forum](#forum)
  - [Issues](#issues)
  - [IRC](#irc)
- [Code of Conduct](#code-of-conduct)
Soomin Lee's avatar
Soomin Lee committed
- [License](#license)
- [More](#more)
Soomin Lee's avatar
Soomin Lee committed
## Requirements
* Xcode 11.0+
Soomin Lee's avatar
Soomin Lee committed
* macOS 10.12+
* Cocoapods 1.4+
Soomin Lee's avatar
Soomin Lee committed
## Building
Soomin Lee's avatar
Soomin Lee committed
### VLC-iOS
Chandan Kumar's avatar
Chandan Kumar committed
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".


Dave Nicolson's avatar
Dave Nicolson committed
### Custom VLCKit
Soomin Lee's avatar
Soomin Lee committed

Soomin Lee's avatar
Soomin Lee committed
Mostly for debugging or advanced users, you might want to have a custom local VLCKit build.
Soomin Lee's avatar
Soomin Lee committed

1. Clone VLCKit:

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

Soomin Lee's avatar
Soomin Lee committed
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).
Jeremiah Njoroge's avatar
Jeremiah Njoroge committed
    Add `-n` if you want to use you own VLC repository for VLCKit (See [VLCKit README.md](https://code.videolan.org/videolan/VLCKit/blob/master/README.md)).
Dave Nicolson's avatar
Dave Nicolson committed
3. Replace the MobileVLCKit.framework with the one you just built.
Jeremiah Njoroge's avatar
Jeremiah Njoroge committed
    Inside your vlc-ios folder, after a `pod update`, do:
    `cd Pods/MobileVLCKit`
    `rm -rf MobileVLCKit.framework`
    `ln -s ${VLCKit}/build/MobileVLCKit.framework`

Jeremiah Njoroge's avatar
Jeremiah Njoroge committed
4. Hit "Build and Run".
Soomin Lee's avatar
Soomin Lee committed

### Beginner's Guide

Can't get your project to build or run? Head over to the [beginner's guide](https://code.videolan.org/videolan/vlc-ios/wikis/Beginner-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](https://code.videolan.org/videolan/vlc-ios/issues).

Soomin Lee's avatar
Soomin Lee committed
## Contribute

### Pull request

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

Soomin Lee's avatar
Soomin Lee committed
### Commit

We try to follow a simple set of rules, outlined by this [guide](https://chris.beams.io/posts/git-commit/).

Soomin Lee's avatar
Soomin Lee committed
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
Soomin Lee's avatar
Soomin Lee committed

For example:

Soomin Lee's avatar
Soomin Lee committed
    UPnP: Remove iOS 7 compatibility code
    Closes #166
Soomin Lee's avatar
Soomin Lee committed
### Gitlab issues

Dave Nicolson's avatar
Dave Nicolson committed
You can look through issues we currently have on the [VideoLAN GitLab](https://code.videolan.org/videolan/vlc-ios/issues).
Soomin Lee's avatar
Soomin Lee committed

Soomin Lee's avatar
Soomin Lee committed
A [beginner friendly](https://code.videolan.org/videolan/vlc-ios/issues?label_name%5B%5D=Beginner+friendly) tag is available if you don't know where to start.
Soomin Lee's avatar
Soomin Lee committed
## Communication
Soomin Lee's avatar
Soomin Lee committed
### Forum
If you have any question or if you're not sure it's actually an issue, please visit our [forum](https://forum.videolan.org/).
Soomin Lee's avatar
Soomin Lee committed
### Issues
Soomin Lee's avatar
Soomin Lee committed
You have encountered an issue and wish to report it to the VLC dev team?
Dave Nicolson's avatar
Dave Nicolson committed
You can create one on our [GitLab](https://code.videolan.org/videolan/vlc-ios/issues) or on our [bug tracker](https://trac.videolan.org/vlc/).
Before creating an issue or ticket, please double check for duplicates!
Soomin Lee's avatar
Soomin Lee committed
### IRC
Soomin Lee's avatar
Soomin Lee committed
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__.
Soomin Lee's avatar
Soomin Lee committed
If you don't have an IRC client, you can always use the [freenode webchat](https://webchat.freenode.net/).
## Code of Conduct

Please read and follow the [VideoLAN CoC](https://wiki.videolan.org/Code_of_Conduct/).

Soomin Lee's avatar
Soomin Lee committed
## License
Soomin Lee's avatar
Soomin Lee committed
VLC-iOS is under the GPLv2 (or later) and the MPLv2 license.
Soomin Lee's avatar
Soomin Lee committed
See [COPYING](./COPYING) for more license info.
Soomin Lee's avatar
Soomin Lee committed
## More
Soomin Lee's avatar
Soomin Lee committed
For everything else, check our [wiki](https://wiki.videolan.org/) or our [support page](http://www.videolan.org/support/).