An *Unofficial* Uitzending Gemist application for Apple TV 4 (**deprecated, use TV Gemist ☝🏻**)

Overview

Apple TV Uitzending Gemist

Build Status Release Commits Since Platform Swift codebeat badge Open Issues Closed Issues

UitzendingGemist is an unofficial native Uitzending Gemist and NPO Live application for the Apple TV 4 developed in Swift. It will allow you to browse and watch all video streams of the Nederlandse Publieke Omroep's (e.g. NPO, the Dutch public broadcaster) Uitzending Gemist website on your Apple TV.

No Signal

NOTICE: Due to the release of the NPO 2.0 website and mobile apps in Spring 2017, the old API this tvOS app relies on was deprecated. As of Januari 2018 the NPO has shut down the deprecated API, which consequently means this tvOS app will cease to work. Please refer to TV Gemist; the project that replaces Uitzending Gemist.

TopShelf

Watching videos is very snappy and almost instantaneous, contrary to streaming from your iDevice to Apple TV over Airplay or using the built-in player in your smart tv. This is a truly native app contrary to some of the other apps that I have seen which are basically webcontainers using a web app hosted on a remote server.

Features

  • Fast native app for Apple TV
  • Confirmed to work abroad via Unlocator (disable the secure transport setting in the configuration view)
  • Easy to use interface for browsing Programs and Episodes
  • Live streaming TV and themed channels
  • The possibility to (un)favorite programs
  • Remembers watched episodes and will allow you to resume watching
  • Will show you new unwatched episodes of favorite programs
  • Closed Captioning for the deaf and hearing impaired (in Dutch)
  • The ability to watch YouTube videos for Programs that have YouTube Resources

Okay, that's all great! But how do I get this on my Apple TV?

Unfortunately the app cannot be distributed in the AppStore as the NPO does not allow third parties in doing so. However, using a free Apple Developer account you can compile it yourself and install it in your own Apple TV 4 (but also read the note below). While this may sound scary and difficult to non-technical users, it's really not that hard if you follow these steps :)

Prerequisites:

  • an Apple TV 4th or 5th generation (the ones that have an AppStore)
  • run tvOS 10 or 11
  • a recent Apple Computer running macOS 10.11.x El Capitan or higher
  • a (free) Apple Developer account (signup here)
  • a USB-C cable to connect your Apple TV to your Apple Computer

Note: as of summer 2016 Apple has reduced the free Developer account provisioning from 90 days to a mere 7 days, which means when you are using a free Apple Developer Account the application will expire every 7 days after which you need to re-deploy the app (make sure to keep your bundle identifier the same for your favorites to stick). The paid Apple Developer Accounts do not have a time based limitation and deployed apps will continue to work during the lifetime of your subscription.

1. Xcode

The (latest) code was developed in Xcode 9(alternative link) so you need at least to have that version installed. Continue with the following steps when you have finished installing Xcode as the next steps require a finished installation.

2. Download the project

You can either download a zipped distribution (novice) or use Git (advanced).

2.1 Download the zipfile

For novice users it is probably the easiest route to just download the latest zipped version and continue with step 3. After installation to your Apple TV you are safe to delete the downloaded project but keep the Bundle Identifier (see step 5) you used in mind as you will need to use it again when you want to redeploy your app to your Apple TV (in the case of software updates or when your free developer limit (7 days) runs out).

2.2 Using Git

While not required, it is advisable to have a Developer folder on your machine. Execute the following code in Terminal to create those folders and clone this project:

mkdir -p ~/Developer/tvOS
cd ~/Developer/tvOS
git clone https://github.com/4np/UitzendingGemist.git
cd UitzendingGemist

If you are not experienced with Git, you can pull new changes using:

cd ~/Developer/tvOS/UitzendingGemist
git fetch
git pull

Instead of using the terminal you can also use a graphical client like SourceTree (generic) or GitHub Desktop (GitHub specific).

3. Open the project

Now that everything is in place, you can open the project file UitzendingGemist.xcworkspace (and not the xcodeproj file)in Finder. Alternatively, when you still have Terminal open you can also execute the following command:

open UitzendingGemist.xcworkspace

4. Connect the Apple TV 4 to your computer

Connect the Apple TV 4 using the USB-C cable to your Mac and perform / click through the following steps in Xcode:

Steps to perform

5. Change the Bundle Identifier

The bundle identifier (see 4 in the screenshot above) uniquely identifies your app. As you cannot reuse mine, you need to set your own bundle identifier in reverse domain format (for example: com.yourname.UitzendingGemist). Make sure you remember the name as you will need to enter the same bundle identifier when you want to update or re-deploy the app to your AppleTV.

Note: using a different identifier will make the app deploy next to a previous installation and separate favorites. Keeping the identifier the same will make the favorites continue to work after updates. Also free Apple Developer Accounts have a limit on the number of different identifiers you can create on a weekly basis (10).

6. Select the team

In order to deploy the application to the Apple TV it needs to be signed with your team (see 5 in the screenshot above). If you do not have a team (e.g. None), or you see the message No Matching provisioning profiles found click the Fix Issue and login with your Apple ID / Apple Developer Account credentials.

7. Select the Build Device

On the top left in Xcode click on the device the compiled program will be deployed to (see 6 in the screenshot above). If your Apple TV 4 is properly connected you will be able to pick you Apple TV device (otherwise it will run in the Simulator).

8. Run the application

Finally you are able to compile the program and deploy it onto your Apple TV! Click the play icon (see 7 in the screenshot above). The application will be compiled and deployed on your Apple TV 4. After this the application will remain on the Apple TV.

Note: if you encounter issues or you are unable to play, this is where you should debug what it going on. Observe the Xcode console output while leaving your Apple TV connected. Alternatively you can also run in the simulator (see 6 in the screenshot above) and observe the Xcode console output to debug the issues you are experiencing.

9. Sit back and enjoy :)

You're done! You can disconnect your Apple TV and start watching! :)

Firewalls

If you have set up a firewall to filter outbound network requests, make sure to configure it to allow the following URL patterns you can expect the app to call (also see #18):

  • apps-api.uitzendinggemist.nl (the API)
  • api.github.com (check for new releases)
  • *.omroep.nl (images, videos and live streams)
  • googleapis.com (youtube API)
  • youtube.com (youtube videos)
  • freegeoip.net (determine your country by ip)

Note: as the video and image content URLs come from the APIs, although unlikely, these URLs might change

Screenshots

Application Icon

App Icon

Application screen with Application Icon and Top Shelf image

Main Screen

Tip Screen

Tip Screen

Episode Screen

Episode Screen

Continue Watching

Continue Watching

Program Screen

Program Screen

By Day Screen

By Day

By Program Screen

By Program

Live TV Screen

Live TV

Update Screen

Update Screen

Program with a YouTube channel

Several programs have additional YouTube content available.

YouTube Button

YouTube Channel

Content Availability

Content that is geographically restricted will show a warning then you are outside of The Netherlands. While the play button remains enabled you will most likely be unable to watch the video. If you encounter such warnings and are unable to play the respective videos, you might give Unlocator a try. It has been confirmed to work reliably with the Uitzending Gemist tvOS app when you disable the secure transport setting in the configuration screen (see below).

Region Check

Configuration

When using Unlocator outside of The Netherlands, disable the secure transport setting (which is enabled by default).

Configuration

Closed Captioning

When closed captioning is enabled in the configuration screen (see above), all content will be subtitled (when available).

screen shot 2017-03-22 at 22 32 26

License

See the accompanying LICENSE and NOTICE files for more information.

Copyright 2016 Jeroen Wesbeek

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Comments
  • NPO Streaming back-end changed

    NPO Streaming back-end changed

    He guys,

    I love the app! It worked for a while but yesterday it stopped working. When I click a livestream or program, it doesn't respond. I see a very faint spinner in the background for about a second with the text "even geduld" but nothing happens. Tried rebooting and reinstalling the app. I also have the "npo live app" from Mauricevb. That one also stopped working so my best guess would be something changed in the links on npo's side. Everything else works fine.

    anyone else experiencing this?

    bug 
    opened by wouters 40
  • Assets failing to load?

    Assets failing to load?

    Hi,

    Somehow all of a sudden the app fails to load for me. I've tried different versions, but I keep ending up with the same results. In both the simulator AND the actual TV all thats displayed is this: screenshot 2016-08-27 10 56 54

    Furthermore the app is unresponsive, do you have any idea what could be the cause of this?

    opened by JurreCl 26
  • LiveTV streaming issues outside NL

    LiveTV streaming issues outside NL

    Hi,

    Before 1st of March everything was working great. Watching TV outside Netherlands (I'm based in Dubai). Since the changes made by you and or NPO on the backend it's not working anymore. Streaming tv shows are still working great, but watching liveTV is not working. If I look in the logs what i'm getting back i see the following:

    2017-03-17 21:48:00:406 UitzendingGemist[4239:2601290] Could not play live stream (Optional(NPOKit.NPOError.networkError("Could not fetch live stream url (url: https://livestreams.omroep.nl/live/npo/tvlive/npo1/npo1.isml/npo1.m3u8?hash=6b2bf994a10ca639a843f939f66a8d9b&type=jsonp&protection=url) (3)")))

    Feedback if you open the url is as follow: This is a protected url but hash incorrect or missing, uri: /index.php/live/npo/tvlive/npo1/npo1.isml/npo1.m3u8?hash=6b2bf994a10ca639a843f939f66a8d9b&type=jsonp&protection=url

    If I use the website of NPO.nl everything is working, i'm using a SmartDNS services such as Unotelly and or Unlocator and I have just tested and everything is working on the website.

    This is the same URL if I watch NPO1 on their website: https://smoote1a.omroep.nl/urishieldv2/l2cm22de7f5c460058cc22a7000000.88799773542a1c83/live/npo/tvlive/npo1/npo1.isml/npo1.m3u8

    This is the NPO2 live stream through their website: https://smoote1a.omroep.nl/urishieldv2/l2cm05c65ef2370058cc235a000000.7c77b08c225fad59/live/npo/tvlive/npo2/npo2.isml/npo2.m3u8

    So I think it's something small to fix in the backend of your application. I have installed 1.4.1 version

    opened by pradix 24
  • Trouble playing episodes on limited bandwidth connections

    Trouble playing episodes on limited bandwidth connections

    I am trying to get the new version to run but it terminates in an uncaught exception error. As far as I know I haven't changed anything since the last time I successfully built a version. I tried as targets both 10.1 and 10.0, with the same results. My appleTV runs 10.1. This is the debug output:


    2017-03-15 17:12:32:913 UitzendingGemist[210:12926] No update available (current: 1.4.1, latest: 1.4.1) uncaught exception in notifier thread: N5realm10LogicErrorE: Bad version number 2017-03-15 17:21:32:487 UitzendingGemist[210:12926] Player is now waiting to play at the specified rate libc++abi.dylib: terminating with uncaught exception of type NSException (lldb)


    The first exception doesn't stop the app from continuing, the libc++abi.dylib error does. This is the code shown when the error occurs, with the "super.observeValue" line highlighted:


    override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
        guard context == &observerContext, let item = player?.currentItem else {
            super.observeValue(forKeyPath: keyPath, of: object, change: change, context: context)
            return
        }
    

    opened by TookiTheGreat 16
  • Overhaul ideas

    Overhaul ideas

    Hi, you asked me for some ideas for the overhaul off your app. These are just my ideas, too bad I can't code myself...

    • Add an option to add shows as favourites. There should be a button on the 'programma' information screen.
    • Then you could present new episodes of favourites in the shelf (Apple TV Homescreen) and you could add a row of favourites on the 'uitgelicht' page. Both for quick access to favourite shows.
    • Some titles of shows/episodes are to long, maybe they could gently scroll (when selected).
    • In the 'programma's' view, there is an alphabet. It should fit in one screen, now you have to scroll to see the last letters. The spacing between the letters can be less to fit them without scrolling.
    • The screen for the TV show should, in my opinion, look more like this. You see it everywhere on Apple TV. This is from Infuse. The other episodes are below. There is a play button and the other buttons could be removed (except for a "add to favourite" button). img_2725
    • A 'watched' indicator for seen episodes would be great!
    • For Live TV I would separate NPO1/2/3 and the internet channels. Like this one, this is an other app from someone I now use for live TV. It features a current program. It would be nice to have an extra line that shows the next program. This information is there somewhere as "nu & straks". A progress indicator for the current show would be very welcome :) img_2724
    • If you got a lot of spare time, you could add a tv guide for NPO 1/2/3...
    • And I was wondering. Does time shift work on live tv?

    This are just some ideas that pop up. (and as I said, I'm not a good programmer, but if I can help testing or something let me know) (and why are we talking english while we both are -I guess- Dutch? :D )

    enhancement 
    opened by iAmRenzo 11
  • Request: link to youtube channels

    Request: link to youtube channels

    Quite some NPO programs do have a kinda archive on Youtube (think of Lubach op Zondag, Tegenlicht, etc). Would it make sense to have a link to these programs in the Youtube app?

    enhancement 
    opened by dizzzz 6
  • Xcode 9: build error

    Xcode 9: build error

    when I wanted to update the app I got the following error:

    object_cpp_and_new_issue_ _4np_uitzendinggemist

    the git project is clean (no local changes). Any idea how to get the app built again?

    (using xcode 9 as pushed this week)

    enhancement 
    opened by dizzzz 5
  • Improved readability of text over images in tips scene

    Improved readability of text over images in tips scene

    Added a gradient over the image, which is darker where the text is over the images. This improves readability a lot especially for bright images. Used the same gradient as used on npo.nl

    opened by technimad 5
  • Enhancement/design: episode information screen

    Enhancement/design: episode information screen

    I don't know if you're open for requests or things but I do post it here (hope you don't mind).

    I like your app very much but when I saw the episode information screen I thought the design is a little non-Apple TV'ish. Below is the same screen for Infuse and for an other Uitzending Gemist app. img_2227 img_2228

    opened by iAmRenzo 5
  • import CocoaLumberjack # no such module '...'

    import CocoaLumberjack # no such module '...'

    Hi, I can't get the project to build. I get no such module for the pods in 'YouTubeViewController.swift'. Any ideas? Tried to install the pods again, but no success. Any help is appreciated.

    opened by kreativ-software 4
  • NPO Start Plus

    NPO Start Plus

    I have a NPO Start Plus subscription, but the NPO is still lacking an Apple TV app. Is there a way to build the higher quality streams an such into the app? Does NPO provide an API for that?

    Would be awesome! Now that side loading can be done wirelessly I am back in the game of side loading!

    opened by iAmRenzo 3
  • NOTICE: The Uitzending Gemist tvOS App has reached its End of Life. Use TV Gemist instead.

    NOTICE: The Uitzending Gemist tvOS App has reached its End of Life. Use TV Gemist instead.

    I don't see any new programs appear since last Sunday (Jan 28). The live views work, the existing programs from the past weeks work, but the "By Day" view shows nothing, and the "Program" view shows no new episodes. Did NPO change something?

    opened by dyve 20
Releases(1.6.0)
  • 1.6.0(Sep 24, 2017)

  • 1.5.1(Apr 10, 2017)

    This release addresses the streaming issues that some people outside of The Netherlands were experiencing (#21, #22). Uitzending Gemist has been tested to work reliably using Unlocator.

    • fixed streaming issues outside of The Netherlands (#21, #22)
    • added support for Unlocator (#22)
    • added closed captioning support for live channels (NPO1, NPO2 and NPO3) in addition to the closed captioning for episodes.
    • added a setting to only use secure transport (enabled by default)

    Note: When using Unlocator, you need to disable the newly introduced secure transport setting in the configuration view:

    Configuration

    Source code(tar.gz)
    Source code(zip)
  • 1.5.0(Mar 22, 2017)

    Improved video streams

    This release brings optimisations in the video streams (#21, #22) by always prefering the adaptive streams which should work well for high- as well as low bandwidth connections. Where the episodes and the live feeds used their own video players, they have now been united in one generic video player.

    Closed Captioning

    A new big feature is the addition of (Dutch) closed captioning support for the death and hearing impaired. Due to technical reasons they can unfortunately not be enabled or disabled from within the video player info overlay (swipe down on your remote), but a new configuration screen allows you to change the setting globally.

    screen shot 2017-03-22 at 22 32 26

    Meta data

    Additionally, this release now shows meta data of the content you are watching in the the video player info overlay (swipe down on your remote). The screenshot below shows you the meta data as well as the closed captioning support:

    screen shot 2017-03-22 at 22 14 48

    Configuration

    The configuration screen allows you to change the (application wide) closed captioning setting for the death and hearing impaired

    screen shot 2017-03-22 at 22 13 55

    Source code(tar.gz)
    Source code(zip)
  • 1.4.1(Mar 13, 2017)

    This release makes use of the adaptive streams and does not force a particular bitrate. Additionally when an episode is marked as geographically limited it will report if you are able to watch the episode based on your current location. If the episode is not available for playback in your region, the play button will be disabled and a red warning will be shown specifying the reason.

    screen shot 2017-03-13 at 17 09 20

    Source code(tar.gz)
    Source code(zip)
  • 1.4.0(Mar 2, 2017)

    As of the 1st of March the NPO has changed (some of) the video streaming back-end services which broke the video streaming in the app (issue #19 ).

    @technimad had a great idea to add a gradient to the tips images to improve the readability of the labels (pull request #20). Although his solution (adding a gradient image view above the tip image) did not make it into this release (which applies a gradient to the tip image directly to work properly with the tvOS focus engine behaviour), thanks go out to @technimad for his suggestion and efforts! πŸ™ŒπŸ»

    screen shot 2017-03-02 at 22 02 08

    Source code(tar.gz)
    Source code(zip)
  • 1.3.0(Feb 7, 2017)

    When Uitzending Gemist returns from the background (when switching to another Apple TV app) the views did not properly refresh (see #17).

    Source code(tar.gz)
    Source code(zip)
  • 1.2.0(Dec 22, 2016)

    This release reduces the likelihood of issue #16 from occurring.

    Technical details: Uitzending Gemist relies on the Realm mobile database for keeping track of favourites and watched episodes. However, as of the Realm 2.0.0 release Realm has moved its transaction log into the realm itself. As the Uitzending Gemist app was logging every second played the transaction log containing all the write operations sky rocketed to about 2GB until which point the app crashed because it was unable to allocate memory.

    This release significantly reduces the write operations and only writes the number of seconds played when you actually stop watching the video. While the underlying Realm issue #4461 is not resolved, this release will make issue #16 surfacing less likely.

    Note: If you encounter the issue where Uitzending Gemist crashes and favourites stop working: delete the app from Apple tv to clear out its data and then reinstall the latest version of the app.

    Source code(tar.gz)
    Source code(zip)
  • 1.1.1(Nov 24, 2016)

    It is now also possible to configure YouTube Playlists in the curated list of additional program resources, e.g.:

       {
         "mid": "VPWON_1260826",
         "name": "Freek in het wild",
         "youtube_playlist": "PLe5xp19huiuEt6_2KCl7KTULnPTWL8uGp"
       }
    
    Source code(tar.gz)
    Source code(zip)
  • 1.1.0(Nov 19, 2016)

    This release adds support for additional YouTube resources for programs when these programs have a dedicated YouTube channel (feature request #14). Whether or not a program will show a YouTube button is based on whether that Program exists in the curated list of additional program resources. This list is fetched and cached on a daily basis in a running app, so new YouTube buttons may appear every other day (when the list is amended).

    It is now also possible to mark all episodes for a Program as watched by navigating to a Program and clicking the 'Mark all as watched' button (feature request #13).

    screen shot 2016-11-18 at 22 32 39

    screen shot 2016-11-18 at 22 32 55

    Source code(tar.gz)
    Source code(zip)
  • 1.0.2(Oct 18, 2016)

  • 1.0.1(Oct 18, 2016)

    After playing a TV episode, the player would restart and effectively not record the episode as watched (issue #11). This causes the episode to keep showing up as unwatched. Additionally the continue watching list on the main screen prioritises programs based on how many episodes you watched for a particular program. When the watch status of an episode is not correctly logged, the prioritisation of this list is affected as well.

    Source code(tar.gz)
    Source code(zip)
  • 1.0.0(Sep 21, 2016)

    The project has been updated to Swift 3 and now supports tvOS / Xcode 8. Additionally all of the UI has been moved to dark mode and solves issues #8 and #9.

    Source code(tar.gz)
    Source code(zip)
  • 0.4.0(Aug 16, 2016)

    The main tips view now also lists any unwatched episodes of your favourite programs. The episode that will show is the most recent unwatched episode and they are sorted based on the number of watched episodes for those particular programs. This means that if you frequently watch a program you would most likely would like to know when any new episodes appear compared to a program which you only watched once.

    Tip Screen

    Source code(tar.gz)
    Source code(zip)
  • 0.3.0(Aug 2, 2016)

    • added an overview by day
    • tweaked the ui
    • added the possibility to mark episodes as (un)watched
    • keep track of watched status of programs (instead of just episodes)
    • improved the watch duration and watched handeling

    New overview by day:

    screen shot 2016-08-02 at 17 12 01 Source code(tar.gz)
    Source code(zip)
  • 0.2.1(Jul 28, 2016)

  • 0.2.0(Jul 22, 2016)

    • Live TV (NPO 1, 2 and 3) in high quality
    • Currently available themed channels in best possible quality
    • Program information for current and upcoming programs

    Live TV

    Source code(tar.gz)
    Source code(zip)
  • 0.1.0(Jul 20, 2016)

    This is a complete rewrite of the Uitzending Gemist app, making it in many ways more reliable and responsive and it introduces new functionality like favouriting programs and continue watching where you left off.

    While the app is functional as is, it is also still in active development. You can leave feature requests, suggestions or bug reports here.

    Episode Screen

    Episode Screen

    Program Screen

    Program Screen

    Continue Watching

    Continue Watching

    Software Update Notification

    Software Update

    Source code(tar.gz)
    Source code(zip)
Owner
Jeroen Wesbeek
Senior iOS Developer @ServiceNow, Swift enthusiast and active OSS contributor.
Jeroen Wesbeek
Offline playback of a fireplace video on your Apple TV

Fireplace Offline playback of a fireplace video on your Apple TV Screenshots Bring Your Own Video For copyright reasons the file fire.mp4 is not inclu

GΓΌnther Eberl 1 Dec 12, 2021
Simple macOS app that applies Apple's Person Segmentation algorithm to a video.

Simple macOS app that applies Apple's Person Segmentation algorithm to a video.

Fabio 5 Dec 9, 2022
Anime4K for Apple platforms based on Metal

Anime4KMetal Introduction This is a port of Anime4K to Metal. It dynamically translates GLSL shaders to Metal shaders and applies them during video pl

Yi Xie 18 Nov 22, 2022
View Rails casts video on Apple TV

View Rails casts video on Apple TV To run the app locally on your TVOS or Apple TV Clone the app Enter the http://iosvideokit.com/ license details in

Spritle Software 9 Feb 8, 2022
A video composition framework build on top of AVFoundation. It's simple to use and easy to extend.

A high-level video composition framework build on top of AVFoundation. It's simple to use and easy to extend. Use it and make life easier if you are implementing video composition feature.

VideoFlint 1.4k Dec 25, 2022
reward the user for watching videos to get coins then use them to get rid of annoying admob ads

reward the users for watching youtube videos to the end to earn coins, then use them to get rid of annoying admob ads like banners, interstitial & reward videos

Belal Samy 4 Nov 19, 2021
A high-performance, flexible, and easy-to-use Video compressor library written by Swift.

FYVideoCompressor A high-performance, flexible and easy to use Video compressor library written by Swift. Using hardware-accelerator APIs in AVFoundat

null 30 Dec 30, 2022
YHPlayer - An easy-to-use video player based on swift language

YHPlayer An easy-to-use video player based on swift language Features Plays loca

null 9 Dec 1, 2022
PiPifier - a macOS and iOS Safari extension that lets you use every HTML5 video in Picture in Picture mode

PiPifier is a macOS 10.12 and iOS Safari (action) extension that lets you use every HTML5 video in Picture in Picture mode macOS Download It'

Arno Appenzeller 718 Jan 7, 2023
A video decoder built on ffmpeg which allows libpag to use ffmpeg as its software decoder for h264 decoding.

ffavc ffavc is a video decoder built on ffmpeg which allows libpag to use ffmpeg as its software decoder for h264 decoding. Build ffmpeg First, make s

Portable Animated Graphics 8 Nov 24, 2022
An iOS application πŸ“± that extracts text real time using camera πŸ“· and play relevant video from the text

CHARUSAT-SceW It is an iOS application ?? that scans and extracts text real-time through camera ?? , if it is detected. It will play relevent video fr

Vatsal Patel 2 Nov 15, 2021
HockeyKit - HockeyApp was retired and the SDKs are deprecated. Please use App Center instead.

About: Hockey is a iOS Ad-Hoc updater framework. It can be used for all apps that target the Apple AppStore and improves the beta testing process dram

Bit Stadium GmbH 2.2k Nov 24, 2022
[Deprecated] A shiny JSON parsing library in Swift :sparkles: Loved by many from 2015-2021

?? Deprecation Notice ?? Gloss has been deprecated in favor of Swift's Codable framework. The existing Gloss source is not going away, however updates

Harlan Kellaway 1.6k Nov 24, 2022
The Unofficial Apple iOS Swift Calendar View. Swift calendar Library. iOS calendar Control. 100% Customizable

Q: How will my calendar dateCells look with this library? A: However you want them to look. More Images Features Range selection - select dates in a r

PatchTheCode 7.3k Jan 2, 2023
EU Digital COVID Certificate Kit for the Apple Platform ο£Ώ (unofficial)

EU Digital COVID Certificate Kit A Swift Package to decode, verify and validate EU Digital COVID Certificates for iOS, tvOS, watchOS and macOS Disclai

Sven Tiigi 32 Oct 4, 2022
An unofficial Floatplane client for Apple TV/tvOS

Wasserflug tvOS An unofficial Floatplane client for Apple TV/tvOS. Screenshots See https://imgur.com/a/vXAcEJy for screenshots of Wasserflug. Beta Tes

James Linnell 11 Nov 10, 2022
An Unofficial Apple TV app for http://UitzendingGemist.nl

UitzendingGemist An Unofficial Apple TV app for http://UitzendingGemist.nl Installation You can install UitzendingGemist onto your Apple TV by sideloa

Jeff Kreeftmeijer 76 Sep 16, 2022
Unofficial Dribbble iOS wrapper allows you to integrate Dribble API into iOS application (Designer, Shot, Comment, User Story, Like, Follow)

DribbbleSDK DribbbleSDK is easy-to-use iOS wrapper for Dribbble SDK. We're working hard to complete the full coverage of available methods and make th

Agilie Team 74 Dec 2, 2020
Sign in with Apple, Sign up with Apple, or Continue with Apple

ContinueWithApple Sign in with Apple, Sign up with Apple, or Continue with Apple Utils 1. randomNonceString 둜그인 μš”μ²­λ§ˆλ‹€ μž„μ˜μ˜ λ¬Έμžμ—΄μΈ 'nonce'κ°€ μƒμ„±λ˜λ©°, 이 'nonce'

Hankyeol Park 0 Feb 26, 2022
πŸ‘€ Framework to Generate Random Users - An Unofficial Swift SDK for randomuser.me

RandomUserSwift is an easy to use Swift framework that provides the ability to generate random users and their accompanying data for your Swift applic

Wilson Ding 95 Sep 9, 2022