Just me, or SpriteKit in GMs terribly broken?

I've updated to ElCap GM, XCode 7GM, and iOS 9GM and a project I'm working on seems to be broken at every turn.


  • Atlases don't work properly
  • Atlasses in Asset Catalogs don't work properly
  • still getting PKPhysics* types in methods expecting SKPhysics* types
  • the Actions editor is buggy as **** and doesn't properly handle image references
  • sizing of physics bodies based off of textures seems to not work right...


I've filed bugs where possible (way back in early betas), some of these issues are intermittent or difficult to track down... but it certainly doesn't seem to me that SpriteKit is anywhere near ready for release. Am I doing something just fundamentally wrong?


At this point, my project is so full of kludges to avoid crashing left and right, I don't know if I'll every be able to release it 😠

Replies

Hi Karim,


The CUICatalog warning would suggest you are using an Asset catalogue and it is somehow not resolving your asset as being associated with an idiom (iPhone, iPad etc). If you have the asset outside of a catalogue does the problem go away? Are you using the new iOS9 asset catalogue feature of supporting texture atlases?


Cheers

I am using Asset Catalogs for my atlases, as I want to take advantage of App Thinning. My catalog atlases are all set to "provides namespace = true" and all images are flagged as Universal assets.


After a little more digging, I've discovered that this only affects textures which are assigned to the sprite via actions created in the Action Editor. Honestly, that being the source of the problem isn't surprising, as that tool has been horrendously buggy since its release.

Hi karim,


Thanks for investigating deeper and posting back. Knowing it affects that particular setup helps us triage the issue.


Cheers

I am getting the same error too but I've never used the Action Editor. My project does have an asset catalog but it's only used for the LaunchImage. I see this error many times though (not just at launch) while loading new textures.

Hi nilPill,


I wouldn't be surprised if there are multiple ways for this to happen. I doubt my particular setup is the root cause, as this feels like a lower-level issue to me.

Hi greven,


No problem. Let me know if there's anything else that can help. I'll try to set up an isolated sample project, but I'm not sure how much of my (fairly complex) app will be required to trigger the issue.

Hi karim,


I believe I'm able to reproduce the issue from the details you have provided above and have filed a bug report. If you're able to isolate the issue in a sample project, please file an additional bug report with the project attached so that we can be certain we're fixing the issue you're seeing. Once a fix is in place we will notify you via this thread.


Thank you.

Awesome. Thanks! I'll try to make some time tomorrow to try to isolate things.

Hi,


I get this error when preloading TextureAtlases with SKTextureAtlas.preloadTextureAtlases()

and when loading a sks that was created with the Sprite Kit Level Editor.

It dosn't seem to affect functionality or the look of my sprites.


André

Hi, I am having the same problem with a sprite atlas in Assets.xcassets, I have image.png, image@2x.png and image@3x.png all with tansparent borders and Xcode has just started giving me the error "BUG_SpriteSizing[4547:338313] CUICatalog: Invalid Request: requesting subtype without specifying idiom" and sizing all the pixel data in the images to fit the image bounds.


I have also noticed that dragging a color sprite from the library and then setting its texture to an image that is 60 x 80 pixels (which @2x on the iPhone6 should give a point size of 30 x 40 pts) results in a sprite size of 7.2 x 9.6 points.


The slightly annoying thing here is that all this code worked perfectly on 29-SEP-2015 so this has all gone south in the last 4 weeks. I have put together two sample scenes and will upload them later this evening, I will also post the resulting bug number here.


PS: Is there anyway that this site can be made to take image attachments, Its a bit of a pain when you can't explain an error with a simple picture.

1) I'm getting same issue in my simple project: CUICatalog: Invalid Request: requesting subtype without specifying idiom

2) I'm having troubles with zPosition. Try to run the project in the sumulator several times. Sometime label shows, sometime label doesn't show.


Link to the project: https://dl.dropboxusercontent.com/u/29694424/CityQuiz.zip



p.s.: 9.2 b1 & 7.2 beta (7C46l)

Hi Fuzzygoat,


Thanks for putting together sample scenes of the sizing issue. Please let us know as soon as the bug has been reported and we will work to fix this issue.


Thank you.

Hi nikita_cz,


Does the issue you describe in 2) resolve itself if you set

skView.ignoresSiblingOrder = false

inside GameViewController.swift?


The inconsistent behavior is likely due to multiple sibling nodes with the same zPosition. Turning ignoresSiblingOrder off guarentees a consistent render order of these nodes, but prevents SpriteKit from performing certain performance optimizations.


Thanks.

Hi Tyler,


As requested the bug number is as follows, tested on latest Xcode 7.2 beta (7C46t):

BUG_ID: 23391232

Please note that there are still issues with sprite sizing when assigning a texture in the scene editor.

BUG_ID: 22536638

Cheers Gary

Hi, do you think ignoresSiblingOrder should be set to false in the template with a note to turn it on for certain performance optimizations? It was fine before because it did not cause flickering but now it does and if it trips up experienced developers its going to play havok with anyone trying to learn the ropes