Create a reproduction app (iOS v3)

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

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.
    If you are unfamiliar with how to clone a project or repository, read GitHub's Cloning a repository.
Basic Demo AppStandard JWP features and functionality.

For example:
   • Advertising issues
   • Playback
Best Practice App   • Advanced integrations with mobile device native frameworks

Examples: enabling locking screen controls, casting, embedding in scrolling tables and lists
  1. From Xcode, open the project.
  2. In the Podfile, <update the SDK version.
  3. Add your license key to the ViewController file.
    • Press ⌘ + ⇧ + O.
    • Type the name of the file: SwiftViewController.swift (Swift) or ObjCViewController.m (Objective-C).
[JWPlayerController setPlayerKey:@"YOUR_KEY_HERE"];

  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.
AdvertisingAdd the JWAdConfig object.

Refer to our advertising documentation if you need assistance.
Callbacks• Set the delegate property of the player to self.

• Set the SwiftViewController class to adopt the JWPlayerDelegate protocol.
HLS Streams
(DVR-enabled, Live Event streams, video on-demand)
Replace the default content URL with your test stream.

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.
    • Press ⌥ + ⌘ + C to open the commit window.
    • Select the Commit button to commit your changes to the git record.
    • Close the project.
    • 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.

  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.

Submit a support ticket

  1. Initiate submitting a support case. 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.
- To your knowledge, list all impacted versions of JWP SDK for iOS (not of demo app):
- Last issue-free version of JWP SDK for iOS
- iOS Version(s):
- Device/simulator model(s):

- Expected behavior:
- Actual behavior:
- Frequency of the actual behavior:
- Provide detailed, step-by-step directions to reproduce the actual behavior:
- Link to a screenshot or screen capture of the observed behavior (particularly helpful in UI and UX issues):
- Log and stack traces, if necessary:
- What is the impact of the issue that you have observed?:
  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.