<img src="https://img.shields.io/badge/%20iOS-V3-yellow?logo=apple" style="float:left"/><br />

After reading our [documentation](🔗), reviewing our code samples, and examining our demo and best practice apps, you may still be unable to resolve an app issue. At this point, you should submit a support ticket that links to a native project that builds a reproduction app, which JWP's Support Team can access.

Reproduction apps reduce the time necessary to resolve your issue in several ways:

  • Clearly shows your implementation using our framework

  • Eliminates non-essential code and project settings that can mask an issue

  • Enables the Support Team to suggest code revisions

<br /> <hr />

## Create a reproduction app

When submitting a support ticket for an iOS SDK issue, follow these steps:

  1. Clone one of the following projects to your local machine.<br />If you are unfamiliar with how to clone a project or repository, read GitHub's <a href="https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/cloning-a-repository#about-cloning-a-repository" target="_blank">Cloning a repository</a>.

<a href="https://github.com/jwplayer/jwplayer-sdk-ios-demo" target="_blank">Basic Demo App</a>Standard JWP features and functionality.<br /><br />For example:<br />   • Advertising issues<br />   • Playback
<a href="https://github.com/jwplayer/jwplayer-ios-bestPracticeApps/tree/main-v3" target="_blank">Best Practice App</a>   • Advanced integrations with mobile device native frameworks<br /><br /><em>Examples: enabling locking screen controls, casting, embedding in scrolling tables and lists</em>
  1. From Xcode, open the project.

  2. In the **Podfile**, <[update the SDK version](🔗).

  3. Add your license key to the **ViewController** file.<br />• Press **⌘ + ⇧ + O**.<br />• Type the name of the file: **SwiftViewController.swift** (Swift) or **ObjCViewController.m** (Objective-C).

<br />

  1. Update the player configuration to match the setup that you want the Support team to troubleshoot. The following table lists a few common use cases and relevant configuration updates.

**Advertising**Add the `JWAdConfig` object.<br /><br />Refer to our [advertising documentation](🔗) if you need assistance.
**Callbacks**• Set the `delegate` property of the player to `self`.<br /><br />• Set the `SwiftViewController` class to adopt the `JWPlayerDelegate` protocol.
**HLS Streams**<br /><em>(DVR-enabled, Live Event streams, video on-demand)</em>Replace the default content URL with your test stream.<br /><br /> For example, if using our basic demo app, then modify the `JWConfig` object found in `viewDidLoad`, `let config = JWConfig(contentURL: "YOUR ASSET URL HERE")`
  1. Save and zip your project with your commits.<br />• Press **⌥ + ⌘ + C** to open the commit window.<br />• Select the **Commit** button to commit your changes to the git record.<br />• Close the project. <br />• Zip the entire project.

It is safe to delete the **Pods** folder to save space. This folder will be recreated by the Support team when `$ pod install` is run.

<br />

  1. Upload the zipped project to your server at a publicly-accessible link. If you are unable to upload the zipped project to a server, you can attach the .zip file in your email response to the Support email response you receive after you submit a support ticket.

<br /> <hr />

## Submit a support ticket

  1. Initiate <a href="https://support.jwplayer.com/submit-support-case" target="_blank">submitting a support case</a>. If you are not already logged into your JWP dashboard, you will be prompted to log in.

  2. Click **I have a question for the technical support team.**

  3. From the **Category** drop-down menu, select **SDKs - I need help using the Android or iOS SDK**.

  4. Click the **iOS** check box.

  5. Enter a **Subject** for your issue.

  6. Copy following content. Paste it into the **Description** field. Provide as much detail as possible.

  1. In the **Reproduction page** page field, enter the URL of the .zip file that you uploaded to your server. If you are unable to upload the zipped project to a server, attach the .zip file in your email response to the Support email response you receive after you submit a support ticket.

  2. If you have screenshots, upload them to Dropbox, Google Drive, or Imgur. In the **Link to screenshot** field, enter the URL to the uploaded screenshots.

  3. Enter an **Additional Email** to have someone else in your organization copied on case communications.

  4. Answer the remaining questions.

  5. Click **Submit**.

<br />