Posts

Post not yet marked as solved
0 Replies
365 Views
Each time my app runs SCNTransaction.commit() to perform a more complex SceneKit animation on a simulator running iOS 15, it flushes my console with hundreds of lines containing [SceneKit] Unreachable code: additive without provided normals is not supported This clutter hinders debugging. Nothing visible is broken, but I don't know what it will do on real devices. I assume the line refers to the case additive in enum SCNMorpherCalculationMode. However, none of my model nodes defines a morpher. I can only guess that SCNTransaction creates these deficient morphers somewhere and removes them again before my code regains control. Can anybody tell me how I can get rid of these messages, preferably by repairing their root cause? The animations themselves looks fine. iOS 14 simulators do not dump these messages. I am using Xcode 13.0 RC. My app has been running for many AppStore users for several years.
Posted
by cp101.
Last updated
.
Post not yet marked as solved
1 Replies
1.1k Views
How can I access constraints in a storyboard in Xcode 12 interface builder? One of my scenes (containing the cells of a UITableView) in a storyboard created back in Xcode 8 and maintained since does not show me the constraints attached to the views. They are still there, I can see and edit them in the outline view and the size inspector in Xcode 11.6, and I can see their effect in the running app (with a misalignment in iOS 14 that needs to be fixed). I can also still see and access constraints in Xcode 12 in another scene in the same storyboard file, and in other storyboards and xib-files, older and younger. However, the constraints on the UITableViewCell instances are not visible, and thus not editable in Xcode 12. Xcode occasionally issues the warning "An Internal error occurred" when I open this file. When I click on the "Report a Bug" button next to it, it just opens a Finder window pointing to some hidden folder within /private/var/ and hides the warning.
Posted
by cp101.
Last updated
.
Post not yet marked as solved
13 Replies
1.7k Views
Our app has been using Game Center for a multi-player game for many years. Invitations among friends worked quite reliably, invitations via iMessage less reliably but sufficiently, auto-match sometimes very well and sometimes not at all. Over the last few days, this has degraded substantially. Auto-match always fails, iMessage most of the time, and invitations among friends much less reliably, so that 2-player games connect after two or three tries, but 4-player games are hard.We do have much more demand from users who have to stay at home because of the pandemic, and I assume other games have as well. Could it be that Apple's Game Center servers are overloaded?What is particularly annoying is that GKMatchmakerViewController emphasizes auto-match and iMessages, and hides well the option to add and invite friends. Is there a way of making it jump directly to the screen to invite friends already connected via Game Center?
Posted
by cp101.
Last updated
.
Post not yet marked as solved
4 Replies
1.1k Views
My In-App Purchases on Mac Catalyst in Sandbox mode fail with the folloging pop-up message:Account Not In This StoreYour account is not valid for use in the United States store. You must switch to the Switzerland store before purchasing.[Environment: Sandbox]I ported my iOS app to macOS using Catalyst (not just the checkbox), everything else seems to work now. I set up a macOS app record and corresponding IAP records, available in all countries. They are visible through SKProductRequest.My Apple ID is registered to the Swiss App Store and correctly shows me Swiss prices in the App Store app. In the sandboxed Catalyst app, however, SKProductRequest delivers USD prices and an US price locale instead of the Swiss prices and locale. It then fails with above message when I try to purchase one of them.Questions:1. Does anybody successfully use IAPs on Mac Catalyst with non-US accounts?2. How can I set the sandbox app store country on macOS, to test my IAPs in Catalyst?
Posted
by cp101.
Last updated
.
Post not yet marked as solved
4 Replies
605 Views
The latest version of AppleGlot (4.0 (v161.6)) was released on March 17, 2017. At installation it warns me about a certifcate that has expired on Octover 24, 2019. Has AppleGlot been discontinued? Can it still be installed safely? What has it been replaced with?
Posted
by cp101.
Last updated
.
Post not yet marked as solved
4 Replies
1.7k Views
Basic functionality of my iOS app now runs under Mac Catalyst. I can build and run on my local Mac, and create an archive for upload. When I first tried to validate this archive, the App Store automatically created a Mac certificate for me, and then created a package and signed it. So far so good.Trying to validate or upload the app, however I get an App Store Connect Operation Error: No suitable application records were found. Verify your bundle identifier 'maccatalyst.com.mycompany.myapp' is correct.In App Store Connect I cannot add a macOS version to my iOS app as would be logical, so I try to add a New macOS App, as suggested at WWDC 2019. modulo some terminology changes. There I get the error popup: You have no eligible Bundle IDs for macOS apps. Register one here.Trying to register the bundle ID. I get the error message: An attribute in the provided entity has invalid value. An App ID with Identifier 'maccatalyst.com.mycompany.myapp' is not available. Please enter a different string.What is a valid value for the bundle ID for a Mac Catalyst app to register in App Store Connect?Yes, of course I use my real company name and real app name instead of the generics above. I use exactly the bundle name that Xcode created for me when I checked the Mac checkbox in Deployment Info in Xcode.
Posted
by cp101.
Last updated
.
Post not yet marked as solved
0 Replies
892 Views
Is there a way to switch dark mode on of off from within an UI test?It would be great If something like overrideUserInterfaceStyle as was accessible through XCTest (as it is for UIView and UIViewController). It would be even better of dark mode could be switched dynamically within a test (simulating a user switching it through the control center).
Posted
by cp101.
Last updated
.
Post not yet marked as solved
4 Replies
2.8k Views
My app crashes on the Xcode 10.0 beta 2 iOS 12 simulator with the console messageAssertion failed: (0), function img_colormask_stage, file /BuildRoot/Library/Caches/com.apple.xbs/Sources/CoreGraphics_Sim/CoreGraphics-1225/CoreGraphics/Images/CGSImage.c, line 3273.The app works perfectly in other iOS versions in that same beta version of Xcode, and in Xcode 9.4.1, and has been a stable app on the App Store for many years. Does anybody have (and possibly resolved) similar issues with iOS 12 beta?Where do I find this source file CGSImage.c? I have looked in various hidden libraries, but could not find that path. I assume /BuildRoot is a relative or symbolic path and has to be prepended or replaced by something, but what?What assertion does CGSImage.c make at line 3273? This might at least give me a clue what is going wrong.Is this related to the known issue "Various CoreGraphics calls have been hardened against continuing with invalid parameters. In iOS 12 beta, these calls may now return NULL or return early. (38344690)" mentioned in the iOS 12 beta 2 Release Notes? Can anybody be more specific about what img_colormask_stage might have been hardened against? Will that issue ever be resolved, or at least replaced by some more specific warning?Is there a way to avoid this assertion? Clearly whatever happens did not disturb former iOS releases.Here is the full stack trace. It does not refer to any code in my app and just appears in UIApplicationMain:* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT frame #0: 0x0000000111459b6e libsystem_kernel.dylib`__pthread_kill + 10 frame #1: 0x0000000111493080 libsystem_pthread.dylib`pthread_kill + 333 frame #2: 0x0000000111207b81 libsystem_c.dylib`abort + 127 frame #3: 0x00000001111d0222 libsystem_c.dylib`__assert_rtn + 320 frame #4: 0x000000010dc267eb CoreGraphics`img_colormask_stage + 35 frame #5: 0x000000010dc2b97d CoreGraphics`img_data_lock + 10045 frame #6: 0x000000010dc278eb CoreGraphics`CGSImageDataLock + 1234 frame #7: 0x000000010d9c3e49 CoreGraphics`ripc_AcquireRIPImageData + 401 frame #8: 0x000000010da4023b CoreGraphics`ripc_GetClipState + 2539 frame #9: 0x000000010dc45745 CoreGraphics`ripc_GetRenderingState + 147 frame #10: 0x000000010dce0dac CoreGraphics`draw_glyph_bitmaps + 65 frame #11: 0x000000010dce0361 CoreGraphics`ripc_DrawGlyphs + 1601 frame #12: 0x000000010db7fcfb CoreGraphics`CGContextDelegateDrawGlyphs + 468 frame #13: 0x000000010dbd371a CoreGraphics`dle_ExecuteDisplayList + 5485 frame #14: 0x000000010dbcbb50 CoreGraphics`dle_Execute + 331 frame #15: 0x000000010dbcb9d3 CoreGraphics`CGDisplayListDrawInContextDelegate + 716 frame #16: 0x000000011727f979 QuartzCore`CABackingStoreUpdate_ + 534 frame #17: 0x00000001173892ae QuartzCore`___ZN2CA5Layer8display_Ev_block_invoke + 44 frame #18: 0x0000000117381e43 QuartzCore`-[CALayer _display] + 2124 frame #19: 0x0000000117302b5e QuartzCore`CA::Context::commit_transaction(CA::Transaction*) + 646 frame #20: 0x0000000117337cc4 QuartzCore`CA::Transaction::commit() + 576 frame #21: 0x00000001153a9672 UIKitCore`_afterCACommitHandler + 280 frame #22: 0x000000010ec8aea7 CoreFoundation`__CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23 frame #23: 0x000000010ec852de CoreFoundation`__CFRunLoopDoObservers + 430 frame #24: 0x000000010ec85981 CoreFoundation`__CFRunLoopRun + 1553 frame #25: 0x000000010ec85031 CoreFoundation`CFRunLoopRunSpecific + 625 frame #26: 0x000000010f5f6136 GraphicsServices`GSEventRunModal + 62 frame #27: 0x000000011537f839 UIKitCore`UIApplicationMain + 140 * frame #28: 0x000000010c096bb0 Dog`main(argc=1, argv=0x00007ffee3b690f0) at main.m:15 frame #29: 0x0000000111125a61 libdyld.dylib`start + 1
Posted
by cp101.
Last updated
.
Post marked as solved
16 Replies
2.8k Views
Can anybody tell me a clean way to compile a Swift protocol and its implementation in Xcode 9 but not in Xcode 10?I tried various options, including some based on conditional compilation like #if swift(>=4.2), and currently use a very ugly method based on duplicating the target. I wonder if there isn't any clean way.The concrete reason is the protocol CaseIterable. I welcome the addition of this protocol to Swift 4.2 in Xcode 10, as it enables iterations over all cases of an enumeration. I look forward to removing my own implementation of that protocol, which was based on the fact that hashValue and rawValue in an enumeration used to return the same thing (described at various places, in this blog for example). This implementation does not work in Xcode 10 anymore, since hashValue has changed. That should not be a problem, I can just use the new compiler-supported implementation of CaseIterable, right? Unfortunately I cannot see a clean way of excluding my implementation of the protocol in Xcode 10 while keeping it for Xcode 9.
Posted
by cp101.
Last updated
.