Git Product home page Git Product logo

broadcast-upload-extension's Introduction

Broadcast-Upload-Extension

A simple broadcast upload extension to help you test your ReplayKit code before app review.

Why you are here

You are trying to use ReplayKit in an iOS app and App Review is rejecting you because they expect you to also implement a Broadcast Upload Extension but refuse to tell you that it's a requirement. This contradicts the spirit of app extensions, you're irritated and they keep suggesting that you look to the Apple Developer Forums where you find answers like this https://developer.apple.com/forums/thread/60566.

Spoiler alert, the post is 5+ years old with zero replies.

How to solve your issue

This is a simple implementation of a Broadcast Upload Extension that encodes your stream and saves it as an mp4 into the Photos Library.

I recommend that you title your extensions with simple names like 'Record' or 'Local' or some other simple, short title to help convey what they do without the horrible word-wrapping that occurs in Apple's UI.

  1. First, create a Broadcast Upload Extension target in your app. You will also need a Broadcast Upload Setup UI target so you can do that at the same time or later.
  • The title of the Broadcast Upload Extension will show up in the list of extensions when you long press the screen record button in the iOS control pannel.
  • The title of the Setup UI extension will show up in the RPBroadcastActivityViewController, but you end up at the same block of code either way.
  1. Add PhotoAddUsageDescription to the Info.plist in the Upload Extension
  2. Use swift package manager to include [email protected]:romiroma/BroadcastWriter.git for your Upload Extension.
  3. Copy the code from the .swift files here into your corresponding files in the new targets you created.
  4. Replace the indicated strings in your code.
  5. Test to make sure it works!

Thank You!

This code is a compilation of solutions I was able to find across Stack Overflow, GitHub and other random places. https://github.com/romiroma/BroadcastWriter/commits?author=romiroma provided a great starting place, thank you for that! And of course thanks goes out to everyone on the internet that tried to explain how this worked, except Apple who did a horrible job at it.

broadcast-upload-extension's People

Contributors

ourbigadventure avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.