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 😠

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

Thank you for your comments and feedback!


Like every team at Apple, we are committed to our users by providing top quality frameworks. We do acknowledge all the issues being brought up on the forum here, and the team has a process of providing more visibilities to these issues whenever we can by replying directly to forum posts.


One thing I would like to point out is, the main communication channel to us is still perferred via the BugReport system. It provides you the ability and visibility to track these bugs when engineering team have acknowledged and fixed these issues. Our engineering team has spent a lot of time reading these posts on the forums and orginated bug reports ourselves to make sure they are tracked and addressed in the upcoming software release. All of these bugs have also gone through detailed investigation, and testing, but the downside is you will not get the instant feedback when these issues weren't originated by you directly.


We appreciate all the feedback from you when trying to incorporate SpriteKit in your upcoming projects, and would love to help you succeed by providing a top quality product.

Do you also acknowledge that by not acknowledging the many problems Sprite Kit has had in iOS 9 that you've inadvertantly wasted an enormous amount of time of developers blindly battling with the issues?


If so, what do you plan on doing to make sure there's never a repeat of this disdainfully manner in which you've treated your users?

I have to second that.


I've been in IT for last 30 years and I've never seen a major vendor release something so broken and then treat their developers so badly.


To paraphrase..


– SpriteKit on IOS 9 was simply not up to Apple's standards – it clearly needed more time and testing.


- You’ve tarnished Apple’s reputation … You should hate each other for having let each other down.


To paraphrase..


We are taking many steps to learn from this experience so that we can grow SpriteKit into a service that our developers will love.


And also ..


The Sprite Kit on launch clearly demonstrates that we have more to learn about QUALITY. And learn we will. The vision of SpriteKit is both exciting and ambitious, and we will press on to make it a service we are all proud of by ????.


From the mobileme email if you're not with me.

Like so many developers, I'm astonished and appalled by the temerity of Apple to knowingly break SpriteKit apps with the ios 9 release.


To wittingly break all SK apps and betray the trust, resources, money, time, and hard work so many developers have invested in SK is patently smug. I can only guess Apple strategists decided SK developers would not revolt enmasse and flee to platforms like Unity because of significant technical debt/investment we've all already put into our apps. Apple is a juggernaut and enjoys user status as a luxury brand but irrevocably alienated its SK developers. It's a case of moral hazard: as small independent software vendors, we startups are subject to the whim and externalities of a monolithic Apple Business Machine. Without developer revolt, there is no financial impact, PR backlash, or opprobrium.


I've wasted months--and am still wasting time even with ios 9.2.x fixes--conjuring workarounds for numerous issues.

When will ios 9.2 be released? It would have been great to deploy a working app for the holidays on ios 9.x. With lingering SK problems and dependency on an official 9.2.x release, it now seems impossible to get an app--no matter how cool and how much it showcases SK features--approved and circulated in time for the holidays. Worst of all, the audience for a functional SK app will be confined to just people who upgrade from 9.0 to 9.2.


Alas, for the intrepid SK developers--we happy few, we band of brothers--battling SKTexture bugs and issues, I've posted a Stack Overflow reply that distills some of my issues/experiences with SKTexture

http://stackoverflow.com/a/33562642/4333414


To Apple Staff, I will file official bugs/code examples on the serialization/deserializtion behavior (and workarounds) that I'm seeing with SKTexture.


Sincerely,

RO

I won't be incorporating SpriteKit into upcoming projects because of how Apple handled this situation. I have lost confidence in team-SpriteKit and Apple’s ability to develop a video game framework and work with the developers utilizing it.


The problem with the ‘main communication channel’ is that it’s primarily one way. Do you think it’s fair to ask developers with limited resources to spend their time making example projects documenting very basic functionality that doesn’t work? While you might have acknowledged individual bugs you’ve failed to address the larger issue.


Why was SpriteKit released in such an obviously broken state? Why did SpriteKit work in iOS 8 and then have so much basic functionality break in iOS 9? When will these problems be fixed? Will anything change in the future to prevent this situation from happening again?


Apple’s decision to release a framework before it’s ready will end up delaying my project by at least 2 months and has wasted many hours of my time. Is this acceptable to your team? It is not acceptable to me at all.


Even in your response there is no admission of any wrongdoing on Apple's part. Nor is there any mention of a change in process to prevent this from happening again. Nor an apology.


And yet several times you refer to SpriteKit as a “top-quality” framework. I find this a bit insulting after having dealt with so many problems over the last couple months.

I landed on this post looking for a Xcode freeze when working with SpriteKit. Bug report: 23460386


I had problems with Xcode Version 7.1 (7B91b) freezing for a minute when switching to the Scene editor while opening a .sks - file. Every time I switched to the editor, Xcode froze showing the colored wheel for a minute or more. Extremely frustrating.


My collegue sugessted that I sould use the "Default for display" resolution for my Mac book pro (retina) instead of the scaled resolution. That made all the difference and Xcode doesn't freeze anymore.


Hope it will help someone struggeling with the same problem.


/j




.

I'm having the same problem with too many points in SKShapeNode, with 10.11 (this was not a problem in 10.10). So it is not an iOS-specific issue. FWIW, my app crashes with this assertion when I get to between 133-153 points in the path (varies).

Hi ben,


Have you tried updating to OS X 10.11.2 beta 3 via the Developer Center? If the issue persists, please file a bug report so that we can better track this issue and communicate with you.


Thank you.

Is it me or beta 2 of 9.2 had better FPS than beta 3?

Hi pavelgubarev,


There should be no differnences in FPS between 9.2 beta 3 and beta 2. If you do find some though please let us know and file a radar please so we can track it.


Cheers

Just me, or SpriteKit in GMs terribly broken?
 
 
Q