|
|
So you want to contribute to VLC-iOS... Well, you have come to the right place. But first thing is first; **welcome to the community 🎉.**
|
|
|
|
|
|
To get you settled in, here are couple of issues beginners tend to run into when first trying to build and run the app.
|
|
|
|
|
|
- [Running VLC-iOS](#running-vlc-ios)
|
|
|
* [Podfile](#podfile)
|
|
|
+ [Solution](#solution)
|
|
|
* [Shell Script Error](#shell-script-error)
|
|
|
+ [Solution](#solution-1)
|
|
|
- [Running VLC-iOS (Local Device)](#running-vlc-ios-local-device)
|
|
|
* [Code signing](#code-signing)
|
|
|
+ [Solution](#solution-2)
|
|
|
* [iCloud Permissions](#icloud-permissions)
|
|
|
+ [Solution](#solution-3)
|
|
|
- [Building VLCKit](#building-vlckit)
|
|
|
* [How to choose appropriate flags](#how-to-choose-appropriate-flags)
|
|
|
|
|
|
# Running VLC-iOS
|
|
|
|
|
|
## Podfile
|
|
|
|
|
|
When building VLC-iOS on Xcode,
|
|
|
|
|
|
```
|
|
|
Podfile.lock: No such file or directory
|
|
|
diff: /Manifest.lock: No such file or directory
|
|
|
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
|
|
|
```
|
|
|
|
|
|
### Solution
|
|
|
|
|
|
Luckily, this one is easy to solve!
|
|
|
|
|
|
1. Open up your favorite terminal
|
|
|
2. `cd PATH_TO_VLC-iOS`
|
|
|
3. Make sure [Cocoapods](https://cocoapods.org) is installed
|
|
|
- If not, run `sudo gem install cocoapods`
|
|
|
4. Run `pod install`
|
|
|
|
|
|
> Note: You should be able to run VLC on a simulator after resolving this issue!
|
|
|
|
|
|
## Shell Script Error
|
|
|
|
|
|
When building VLC-iOS on Xcode,
|
|
|
|
|
|
![Python Script Error](https://i.imgur.com/WYaXeWz.png)
|
|
|
|
|
|
### Solution
|
|
|
|
|
|
This error may occur if your default version of `python` is `python3`.
|
|
|
|
|
|
To fix this error,
|
|
|
|
|
|
1. Go to **Targets**
|
|
|
2. Click on VLC-iOS
|
|
|
3. Go to **Build Phases** tab
|
|
|
4. Under the **Run Script** tab, change `python` to either `python2` or `python2.7`
|
|
|
|
|
|
# Running VLC-iOS (Local Device)
|
|
|
|
|
|
## Code signing
|
|
|
|
|
|
When you go to `Targets -> VLC-iOS -> General` in Xcode,
|
|
|
|
|
|
![Invalid code signing](https://i.imgur.com/WUNYDoN.png)
|
|
|
|
|
|
### Solution
|
|
|
|
|
|
When you first clone the project, the code signing team is under an invalid team. To fix this,
|
|
|
|
|
|
1. Press the drop down menu and choose a valid team
|
|
|
- *Make sure to do this for all targets*
|
|
|
- If you don't have anything listed, you may need to sign in to your developer account by pressing the button `Team -> Add an account`.
|
|
|
2. Go to `SharedConfig.xcconfig` in the browser panel and change the existing bundle identifier prefix to
|
|
|
|
|
|
```
|
|
|
BUNDLE_IDENTIFIER_PREFIX=com.YOUR_IDENTIFIER_HERE
|
|
|
```
|
|
|
|
|
|
## iCloud Permissions
|
|
|
|
|
|
When you go to `Targets -> VLC-iOS -> General` in Xcode,
|
|
|
|
|
|
![Permissions error](https://i.imgur.com/uWZ5GpO.png)
|
|
|
|
|
|
### Solution
|
|
|
|
|
|
The problem here is that VLC-iOS utilizes iCloud container. This feature requires you to be a member of the VLC-iOS development team. However, since you are not, you do not have the permission to access those capabilities; hence the warnings 🤷♂️.
|
|
|
|
|
|
1. In the project navigation panel, expand the folder `iOS Supporting Files` and click `VLC for iOS.entitlements`
|
|
|
2. Delete all the subitems of `Entitlements File` except for `App Groups` and `Keychain Access Groups`
|
|
|
3. Repeat steps 2 and 3 for `VLC-TV.entitlements` under `VLC-TV/Resources`
|
|
|
|
|
|
> If the target **VLC-tvOS** is still giving you troubles and you are not planning on building the tvOS app, right-click on **VLC-tvOS** in the `Targets` panel and click `Delete`
|
|
|
|
|
|
# Building VLCKit
|
|
|
|
|
|
So you are trying to build VLCKit either because you found a bug or is eager to see the inner works of VLC. Well, consider yourself to be an advanced VLC user now 😎
|
|
|
|
|
|
First of all, I will assume you already built VLCKit by doing
|
|
|
|
|
|
```bash
|
|
|
./buildMobileVLCKit.sh -dva aarch64
|
|
|
# -d for debugging
|
|
|
# -v for verbosity
|
|
|
# -a aarch64 to build for device
|
|
|
# -a x86_64 if you want to build for simulator
|
|
|
```
|
|
|
|
|
|
## How to choose appropriate flags
|
|
|
|
|
|
When building VLCKit from source, you must provide a `-a` flag to specify the target architecture. Note that there are two main architectures you can build for.
|
|
|
|
|
|
- Local Device
|
|
|
* `-a aarch64`
|
|
|
- Simulator
|
|
|
* `-a x86_64`
|
|
|
|
|
|
For example, if you want to build VLCKit and debug it while using the simulator, you may build VLCKit with the below flags.
|
|
|
|
|
|
```bash
|
|
|
./compileAndBuildVLCKit.sh -dva x86_64
|
|
|
# -d for debugging
|
|
|
# -v for verbosity
|
|
|
# -a x86_64 build for simulator
|
|
|
```
|
|
|
|
|
|
> More information can be found under `./compileAndBuildVLCKit.sh -h` |
|
|
\ No newline at end of file |