Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

iOS App not available anymore #104

Open
TimmRuppert opened this issue Jul 15, 2024 · 37 comments
Open

iOS App not available anymore #104

TimmRuppert opened this issue Jul 15, 2024 · 37 comments

Comments

@TimmRuppert
Copy link

Hi @firsttris,

I am posting here as there is no iOS repo for the app. Your official app does not seem to be on the appstore anymore. Is there a particual reason for that? Can it be made available again? Thanks in adance!

@firsttris
Copy link
Owner

Hey @TimmRuppert

i seems apple took it down.

maybe we can re-release it in a third party appstore?

The Official Kodi App Kore has SendToKodi integrated, maybe its the same for the iOS Version?

@TimmRuppert
Copy link
Author

The Official Kodi App Kore has SendToKodi integrated, maybe its the same for the iOS Version?

I have checked the offical ios remote version and could not find this feature but this issue about it.

maybe we can re-release it in a third party appstore?

I have really no experience with that but why not.

@popcornmix
Copy link

I have really no experience with that but why not.

The obvious reason is that third party app stores are Europe only.

I think querying why it was removed ans resubmitting it would be worthwhile.
A quick search shows there are many kodi remote apps still in the store, so I suspect it was removed in error.

@laurentbacall
Copy link

laurentbacall commented Jul 30, 2024

Hey Everyone, any news on this topic? Any chance we will see this very neat app on the Apple app store again? Any clue when? Thank you.

@anohren
Copy link
Collaborator

anohren commented Aug 7, 2024

i seems apple took it down.

Why?

maybe we can re-release it in a third party appstore?

Maybe I can publish an iOS Shortcut that does the same thing* (and in a single tap on the share sheet) if it's not planned for the AppStore anymore.

  • well, the same thing as in interacting with the SendToKodi addon

@firsttris
Copy link
Owner

Currently i dont have time looking into this.

i could also make the repo of the iOS App public.
but i dont know if it still builds. maybe some work needs to be done.

iOS Shortcut which does the same thing - sounds nice 👍

@anohren
Copy link
Collaborator

anohren commented Aug 7, 2024

Personally I already have access to the iOS repo, but that won't help answering why it was pulled from the store.

iOS Shortcut which does the same thing - sounds nice 👍

I refrained from sharing it considering you were selling the app, but since you're ok with it I can tidy up my shortcut and investigate how it can be shared (have never done that part before).

  • ...and I'll have to add auth headers since I never bothered with that.
  • ...and an import form.

@firsttris
Copy link
Owner

We were only selling the app to barley cover cost of the developer account to release the app.

but we got like 15€ a year and the developer account cost like 99€ a year.
means we only lost money.

my wife was doing the ios stuff, i have no clue about it.
but today she has barely any time because shes taking care of the kids.
We didnt update the App for quite some time, and we got some warnings and at some point it was removed.

if you look at the readme it was actually my intention that everyone is using this plugin to create their own apps:
https://github.com/firsttris/plugin.video.sendtokodi?tab=readme-ov-file#apps

if you have access to the iOS Repo you can decide what to do with it.

Or you can release your own sharing extension.

Or even Both.

You could re-release it, and they will tell you if something is not according to their terms of service.

I have now canceled my iOS Dev account because it just costs me money.

@firsttris
Copy link
Owner

Some month ago i updated the browser extension and released it to Chrome, Edge and Firefox.

@anohren
Copy link
Collaborator

anohren commented Aug 8, 2024

but we got like 15€ a year and the developer account cost like 99€ a year. means we only lost money.

Yeah, they sure know how to drive free app devs off their platforms.

@laurentbacall
Copy link

Thanks for explaining what has happened. What is the best alternative to send a random stream (typically arte.tv, youtube) from an iOS devices to a kodi instance (or to the sendtokodi add-on)? (I guess the browser extension mentioned above is NOT available on mobile Chrome/Edge/Firefox). Many thanks!! :)

@laurentbacall
Copy link

For those who may be interested, I found a replacement for the late iOS app. I looked at what the Chromium extension was sending and built an iPhone Shortcut sending a JSON RPC request to Kodi, just like the extension. Not easy since it was a first for me in many aspects. Happy to share if any interest.

@anohren
Copy link
Collaborator

anohren commented Sep 1, 2024

🤔

Immediately following your first post:

Maybe I can publish an iOS Shortcut that does the same thing* (and in a single tap on the share sheet) if it's not planned for the AppStore anymore.

Not that I got around to cleaning it up completely yet, but yes, readers of this issue should be aware of this option.

I've been using it for a few years and it's by far the most convenient solution on iOS, with a total of one long tap + 2 taps for sharing any link.

@laurentbacall
Copy link

Yes, I see that now. When I read your post immediately after mine the first time, I think I did not understand what it is was all about since I was at the time not familiar with iOS Shortcuts. While looking out for workarounds I stumbled upon iOS Shortcuts, but then did not make the link with your previous post. Apologies for the confusion.

@popcornmix
Copy link

Maybe I can publish an iOS Shortcut that does the same thing* (and in a single tap on the share sheet) if it's not planned for the AppStore anymore.

@anohren did you get this working? I'd be interested - a upgraded iPhone means no more sendtokodi app, so finding an alternative means to send videos would be great.

@anohren
Copy link
Collaborator

anohren commented Sep 23, 2024

@popcornmix Yes — while I've had one working for years it wasn't very polished, but I looked at it again last week and added authentication. Maybe I can try sharing it here (if possible) and you can test it and tell me if it works as expected after import.

To be honest, the shortcut creation flow (on iphone) was trying my patience something awful which made me put it off repeatedly. What takes a few minutes to express in Swift takes an hour in Shortcuts — so many strange decisions...

I'll attach it here in some way after looking it over.

@anohren
Copy link
Collaborator

anohren commented Sep 24, 2024

Edit: can't believe I still missed two debug outputs even after removing them all twice...
Send to Kodi.zip

Okay, here it is (I think?) Let me know how badly it breaks.

I think I've at least removed all profanities. The reason it's more complicated than necessary is to make it easy for anyone who wants to hack on this project and wants an easy way to test.

@popcornmix
Copy link

Thanks @anohren I installed it on my phone and set the host/port, and I see the "send to kodi" share option.
I can try actually using it when I'm home later.

@popcornmix
Copy link

Yes - this worked first time.

When I choose share/sendtokodi I get a popup containing "plugin://plugin.video.sendtokodi/..." with a Done button.
When I press Done I get another popup that looks the same. I click Done again, and then it plays.

Were the popups necessary for it to work, or is it some debug that's been left in?

But - it plays which is great!

@anohren
Copy link
Collaborator

anohren commented Sep 25, 2024

Debug output that I removed, re-exported and reuploaded in my edited post. I guess I shouldn't be surprised though — iOS Shortcuts + Files + Firefox + Guthub seems like the prefect storm to screw it up.

I would have just reuploaded it again in this post but, would you believe it, I've already tried exporting it ten times now from Shortcuts to Files and it fails every time with "some records couldn't be modified" or "CKErrorDomain error 4"... 😄

Shortcuts is already a pain but this is just sad. Maybe I'm supposed to call Apple and ask permission before I'm allowed to verify the shortcut on their servers.

I guess I'll try some other day (wonderful workflow you've come up with, Apple 👍...)

@anohren
Copy link
Collaborator

anohren commented Sep 26, 2024

Send to Kodi.zip

@popcornmix
Copy link

Yes, that works. No debug screens and sending to kodi is working nicely. Thanks!

@dimdam
Copy link

dimdam commented Oct 22, 2024

Is it possible to force a specific resolution while using this? I can only see 480p videos every time i use it.

@anohren
Copy link
Collaborator

anohren commented Oct 23, 2024

Short answer is probably: if you're talking about Youtube videos, then probably no; otherwise yes.

In the latter case you can customize the format string in the shortcut into anything that Youtube-dl / yt-dlp supports -- check their respective documentation for what's allowed as a value to the --format= option. Currently the shortcut is using the format string only to cap the resolution to a maximum value, so as not to overwhelm a specific machine while still allowing as many videos to play as possible. You can customize it and make it more specific.

In the Youtube case I think @nullket has the bigger picture here. As far as I can remember it's something like this: Youtube isn't serving larger video resolutions as whole files (? I'm never getting more than 640x360 when streaming using yt-dlp) meaning that you'd need support for manifests which is currently experimental in SendToKodi (?) and enabling that in turn bypasses the youtube-dl --format option that this iOS Shortcut is using to choose maximum resolution. So you'd end up with whatever video resolution the SendToKodi plugin decides to pick from the available resolutions in the manifest (?) @nullket Feel free to correct me if I'm wrong about the current state of that feature.

@nullket
Copy link
Collaborator

nullket commented Oct 23, 2024

@anohren thanks! Almost correct ;)

  • sendtokodi treats every website equally - but not every website behaves equally
  • Nowadays video streams are "adaptive" and thus not consisting of a single file but out of multiple image streams (e.g. different resolutions) and multiple audio streams (e.g. different languages) and other stuff (e.g. subtitles).
  • The player muxes a selected video stream with a selected audio and fortunately this is supported in kodi with the adaptive streaming plugin (installed when installing sendtokodi)
  • To know which streams are available the player must be given a manifest file (basically a file indicating the individual streams, where they are etc.)
  • Many websites expose this file an we can simply provide this file to the player and then based on your kodi-wide adaptive streaming settings the correct stream will be selected and changed when required (e.g. bad internet)
  • This is already implemented and enabled by default on "newer" installations of the plugin. On old installations (even now having the newest version) you might want to check your settings.
  • Youtube does not expose this hosted manifest, thus for such websites we would need to manually create it (pain 1) and then provide it to kodi via a local webserver (pain 2) as this is required by the InputStream plugin. I did a PoC for this step but there were so many exceptions and edges cases (some formats not supported by InputStream etc.) that I stopped actively working on it.
  • If the website does not expose the manifest (like youtube) the plugin should default to the best available "all-in-one-file" stream. In the past for youtube this was 720p.

I think we need further research to see why youtube is (sometimes) only in 640p. Maybe there is something wrong with the shortcut, maybe with yt-dlp, maybe youtube does not offer a 720p "all-in-one-file" anymore.

@nullket
Copy link
Collaborator

nullket commented Oct 23, 2024

@anohren would you mind adding your shortcut to the repo and provide some setup instructions in the readme?

@anohren
Copy link
Collaborator

anohren commented Oct 23, 2024

Thanks for the reminder @nullket. Right, that's how it is.

The part I'm having most issue with in this whole chain is that Input Stream Adaptive has global resolution settings (?) -- I think it's very reasonable that users want to adapt (ironically) the video resolution manually at time of playback -- maybe to save data -- but I'm getting the impression that that's not a parameter that can be passed dynamically to Input Stream Adaptive at this time. Too bad.

@anohren would you mind adding your shortcut to the repo and provide some setup instructions in the readme?

Yeah sure, I thought I'd let a few people give me their impressions here first. Works for three people = time to ship, I guess :)

@nullket
Copy link
Collaborator

nullket commented Oct 23, 2024

.. that users want to adapt (ironically) the video resolution manually at time of playback

There should be setting for that in the input stream adaptive plugin settings. A dialogue should open to let you choose.

Yeah sure, I thought I'd let a few people give me their impressions here first. Works for three people = time to ship, I guess :)

Heheh right, I am bit pushy, sorry. On the other hand the readme currently states an app which is not available anymore. Do the pace you prefer 👍

@popcornmix
Copy link

Still working and useful for me.
I'd quite like the "add to playlist" option that iOS app provided. Is that easy to add?

If you provide source of the shortcut (and how it is built) I could investigate.

@anohren
Copy link
Collaborator

anohren commented Oct 23, 2024

A dialogue should open to let you choose

Yes that's acceptable if you're interacting with the main Kodi GUI, but our application is remote "casting" which strictly suggests a secondary UI. I.e. requiring a full UI switch is awful in terms of UX.

You're not pushy. The suggestion is appreciated, and it's far better coming from you than from me (though I don't dogfood this shorthut at the moment because I already have preexisting ones, so I'm not overly confident in it...)

I'll add it to the readme in the coming weeks, if I can just remember which option it was that youtube-dl accepted and yt-dlp didn't...

If you provide source of the shortcut (and how it is built) I could investigate.

Now, I haven't ever imported a third party shortcut like this myself, but I was under the impression that it was just...a regular shortcut in the Shortcuts app? Can't you open it and edit it like any other shortcut in there? And if not, how did you customize the IP address/hostname to your Kodi instance? Feel free to educate me on this because I almost exclusively make my own shortcuts for everything I do (mostly involving custom commands over SSH).

@anohren
Copy link
Collaborator

anohren commented Oct 23, 2024

I'd quite like the "add to playlist" option that iOS app provided. Is that easy to add?

Thinking about it for a few seconds I came to the conclusion that yes, it's easy to add in theory (we'll see how easy it is to make it look pretty in the shortcut though). I can take a look.

Edit: By the way, this should be a separate shortcut I think, so as not to require a second action (choosing between play/enqueue) every time you want to play something.

@popcornmix
Copy link

I was imagining a separate shortcut.

The alternative would be for shortcut to check if kodi was currently playing a video and add to playlist if it is and play immediately if not.

But that goes beyond the functionality of original app.

@anohren
Copy link
Collaborator

anohren commented Oct 29, 2024

Just tried enqueuing, seems to work fine. I'm going to see if I can add a title to the enqueued item though. Also, it'll always add to the video queue (I suppose Kodi has multiple queues) because I just can't be bothered to care about supporting multiple queues. Not sure if that's significant.

check if kodi was currently playing a video and add to playlist if it is and play immediately if not

Could be done as an enhancement.

The app is in general pretty thorough — for instance, it checks with Kodi whether to add to the video or audio queue depending on which plugin will be used for playback. I.e. it definitely does something similar to what you're suggesting. (I'm reading the app code because it's a better experience than reading Kodi's remote api documentation)

@anohren
Copy link
Collaborator

anohren commented Nov 26, 2024

@popcornmix
Here's something to test. Same shortcut but with enqueue and audio only options.

Send to Kodi (enqueue capable).zip

What needs testing:

  • Audio only
  • Enqueuing
  • The above using both yt-dlp and YouTube-dl

@popcornmix
Copy link

Thanks - I had a quick play last night. A few comments:

I had to create a number of dictionary items (scheme/host/port/username/password).
I think the last version had these existing, but with default values, which is easier to set up.

When play you get a debug screen, that needs to be dismissed.

I didn't work out how to use the enqueue mode. Do I set a dictionary item of Enqueue to 1 or is there some gui way?

@anohren
Copy link
Collaborator

anohren commented Nov 27, 2024

Send to Kodi (enqueue capable).zip

Thanks. I think this should sort it out.

@popcornmix
Copy link

Thanks - this looks good. I added it twice and configured one with enqueue and one without so I can choose. Both options worked nicely.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants