-
Notifications
You must be signed in to change notification settings - Fork 510
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
Exception When Using tvOS TVTopShelfContentProvider #13260
Comments
I can verify the current extension template uses the deprecated API and your ported version does not current work. I will look more into it shortly. |
As an update, I've been looking into this issue with @chamons and was able to reproduce the issue on this Xamarin.iOS project which is close to this Xcode project that does not show the issue. After comparing the two projects, one theory we have come to is that the issue might be related to code signing. This requires that we create a provisioning profile, which requires having access to a physical Apple TV device - once we gain access to one, we will resume this investigation. In the meantime, if anyone has further insights, please feel free to share. |
@rachelkang thank you for looking into this. We appreciate your work! From the this StackOverflow (https://stackoverflow.com/questions/58504864/tvos-13-top-shelf-nsextensionprincipalclass-product-module-name-contentprovid) it looks like we just need to update the productType from com.apple.product-type.tv-app-extension to com.apple.product-type.app-extension. We confirmed switching that setting back and forth on an Xcode project produced the anticipated results. We just don't see how to change that setting in Xamarin. Not sure if that helps...? |
From what we can tell, that is an internal "project type" for Xcode projects, and something specific to their format. How that actually changes the build and what changes Xamarin.iOS would need to support it will unfortunately require some research. |
Any update on this? Is TvOS still something that will be supported in Xamarin going forward? |
@jonedmiston yes, we still support tvOS, but we haven't had time to look at this particular issue yet. |
All this is getting too long in the tooth. With the confusion injected into the mix by the MAUI emphasis over all things Xamarin and UWP, it's very hard to tell where Microsoft is headed and why. MAUI did claim tvOS support, but as is now typical, that was a premature announcement. I've been peppering some of these forums with the hope that folks at Microsoft will wake up to their predicament, which is looming irrelevancy. I personally have been switching over to Apple tech. Life has suddenly started to resemble the good old days of Microsoft. |
With tvOS version 13+ Apple releases new Top Shelf capabilities (display in full screen, etc) and deprecated many of the existing Top Shelf classes. When creating a new tvOS app in Xamarin it's still using the older deprecated way. In trying to use the new classes I've run into an exception show below.
This appears to be address in the Stack Overflow article.
Updating the value in the Info.plist is trivial, but I don't see a way to update the productType from
com.apple.product-type.tv-app-extension
tocom.apple.product-type.app-extension
.I have a working sample in XCode that when I change the productType back to the old value generates the same exception (show below).
It seems to me then all I need to do is know how to change the productType value in Xamarin and I should be set.
Any thoughts on how to change this value?
Steps to Reproduce
TVTopShelfContentProvider
(my humble initial stab is below, note it's untested due to the issue above).Expected Behavior
Would be able to use the new
TVTopShelfContentProvider
provided in tvOS 13.Actual Behavior
Limited to using deprecated older style Top Shelf.
Environment
Build Logs
Example Project (If Possible)
Here's a link to my humble test app.
Link to download.
The text was updated successfully, but these errors were encountered: