I have figured out a solution. This post on StackOverflow helped out immensely:
The secret is to use an SKRenderer() in addition to the SKView renderer. They are not mutually exclusive.
The example referenced above uses a SceneKit view as the source, grabs a metal texture from the SceneKit scene, and then uses that metal texture as the texture of a second SceneKit scene that has a single plane object using the metal texture as its diffuse texture.
The same setup works with SpriteKit:
For my use case, I was able to implement using a single SKScene, rendered to both an SKView() and an SKRenderer() - just call the SKRenderer.render() method inside your SKScene.update() method. The SKRenderer is what is used to render the scene into a MTLTexture using a renderPassDescriptor. I found that I had to call SKRenderer.render() and commandBuffer.commit() prior to updating any SpriteKit nodes - but it works great.
That MTLTexture can then be used however is necessary. In my test setup, I also rendered it to a separate SCNView using a single plane node.
Post
Replies
Boosts
Views
Activity
Same issue. I went through a whole bunch of permuations - and it seems this is limited to any 16.4 tvOS simulator - tested both 3rd gen and 2nd gen with 16.4 and both show black screen for video.
Note that older versions of the simulator (16.1, 16.0) work just fine.
So far, video seems to be working on real device with 16.4.1
Found the answer on SO... you can set these values using the AVMetadataItem with the identifiers: AVKitMetadataIdentifierExactStartDate, AVKitMetadataIdentifierExactEndDate
Same issue.
tvOS application
Does not use Unity at all.
This is one of the most annoying issues I have found with tvOS.
What I have found is that when a UIScrollView enters in this "fastFocus" scroll mode, the focus moves to UIView of type "UIFocusFastScrollingIndexBarView".
So what I did was put a check in my didUpdateFocus() function like so:
if let tempNextFocusView = context.nextFocusedView {
let desc = type(of: tempNextFocusView).description()
let isFastFocusMode = desc.contains("_UIFocusFastScrollingIndexBarView")
}
At least now I know when I am in this mode. One of the biggest issues I have is that it can be difficult to get a notification that the user has exited out of this mode. There are use-cases where none of my UIScrollView delegate functions are called - typically if the user does a bunch of fast swiping and then clicks to stop scrolling then scrolls again... No items will receive focus and none of the scrollView delegates are called. i.e., our QA can break this pretty easily.
I am also getting this crash. Same circumstances.
Starting up a video stream using AVPlayerViewController.
I also set up both a AVPlayerItem.status observer as well as a "timeControlStatus" observer.
Then when I change to a different stream, I remove the observers, stop the current stream using player.replaceCurrentItem(with:nil) - nil out properties holding on the playerItem & player properties.
Then start a new stream, creating all new playerItem (AVPlayerItem) & player (AVPlayer) objects.
Is there a known workaround or a way to prevent this crash? Am I doing something wrong? This current strategy has worked for years.
Getting reports from the customers about this crash.
Update: Problem has been found. The 3rd party framework has an invalid UIDeviceFamily in their info.plist file. The framework has both "3" and "5" as properties, but the app and framework is only for tvOS (which is "3").
Interestingly, Apple developer support kept insisting that the app was getting stuck in "processing" because it was too large - which at a whopping 24 MB (compressed @ 12 MB compressed) seemed a little far fetched to me.
So as I was going through the steps of proving that the app was indeed only 12 MB, I decided to an AdHoc build locally and export it so I can send it to the Apple dev support engineer.
Well, that produced the first clue - as exporting that archive failed with the following error:
ipatool failed with an exception: #RuntimeError: Unknown UIDeviceFamily: '5' from '[\"3\", \"5\"]'
Apparently a UIDeviceFamily of "5" is the Apple HomePod. I have no idea why the info.plist for the 3rd party library includes this in their info.plist file for a framework that is tvOS only - but that was the problem. I was able to edit the .plist file and remove the "5" from the UIDeviceFamily list and it now processes immediately on the TestFlight app store.
The interesting thing in all of this is that I never saw a warning or error when archiving and uploading to the App Store. It was only when I tried to export an AdHoc build that the export process produced and error.
We are having this issue as well. This seems rather serious. I can see Apple offering an official "swipe-up" implementation - however, there has to be a way to disable this so that apps that have already rolled their own swipe-up are not borked.
I was able to verify that Aleksandr's solution does work - but that feels like a very temporary workaround.
THIS IS STILL NOT FIXED IN XCODE 11.6.
Sorry for the all caps - but this is ridiculous.
How the hell am I suppose to migrate my app to recent versions of XCode / iOS / tvOS when my project is fundamentally broken in any version of XCode > 11.3.1?
Anyone have any experience with "Code-Level Support"? Is that an appropriate way to push bugs up to the Xcode dev team? I am getting desperate.
Xcode 11.5 does not fix the issue for me. I still see generic class names as properties in Interface builder and do not see my property names. This is sooooooo frustrating.https://i.imgur.com/SWigzks.png
I would be fine with agung closing the thread, but I will just open up a new one because the issue definitely isn't fixed for me with Xcode 11.5. (And yes, I have done all of the usual house-keeping steps like clean builds, letting indexing complete, quit and restart Xcode, etc - none of that solves this issue for me).I replied to agung above, but that reply has a link to a screenshot of the issue and is currently being moderated to prove how crazy bad this issue is - especially when you have relatively complex layouts (and not being able to submit screenshots is frustrating itself). I submitted a feedback assistant ticket several months ago when this issue first showed and that ticket is still sitting in the "open" state.Not only this issue, but now the simulator is completely broken for tvOS - as you can no longer use the keyboard for focus navigation in the simulator.For now, I have to stick with Xcode 11.3.1 - that is the last version where everything worked for me and my team. This *****.The only thing I can think that may be causing this issue is that my .xib files are in a different folder than the corresponding .swift files - but I can't imagine something so simple would cause such a serious issue as this. Also, my project is quite large and complex - with something over 30 .xib files - but again - that is not something that should cause issues with a enterprise level development tool.
I have this same issue. This issue plus the issue of missing property names in .xib files is really starting to frustrate me and is keeping me stuck on Xcode 11.3.1. I don't know how to get Apple's attention. This issue, plus the missing property names are big deal breakers - I have submitted an issue to Feedback assistant several months ago for the .xib issue, but it is still just sitting there as "open".
I am not sure how that will help in this situation. I don't open any files by double clicking in the finder, but maybe I am misunderstanding your suggestion?When I want to open a project, I launch the version of Xcode I am interested in launching (usually with the help of Alfred launcher) - and then to open a project I choose the project in the File->Open Recent menu or File->Open... and open a workspace of the desired project.I don't see how finder associations would effect this situation at all. To view different files in my project, I simply use the project navigator view in the left-side of Xcode.Also, I don't use storyboards. I have individual .xib files for each UIViewController and for many UIViews in my app - there are around 30 .xib files in total. It is a very large and complex appliction.
No clue why things work for some projects and not for others. Obviously this is a bug and not reproducible for every project - I have no idea why my project is one of those not displaying correctly in Xcode 11.4.1.Here are some screenshots of the same exact project, and same UIControllerView file in both Xcode 11.3.1 and Xcode 11.4.1Xcode 11.3.1:i.imgur . com/wBFWrUo.pngXcode 11.4.1:i.imgur . com/OChCEJ2.png*you'll have to remove the spaces in the image links above - I can't get the forum to accept any image links.
Yes. I noticed that my storyboard does not have this issue. But unfortunately, my storyboard is only 1 screen - everything else is broken up into individual .xib files for each UIViewController and UIView - as this is a multi person development project, and storyboards do not get along with source control and multiple developers.I submitted a bug using the Feedback Assistant... not sure how to escalate any further than that.