After many further tries I finally managed to create a new macOS app for my catalyst version. I cannot tell what made the difference, and I don't know if I could redo it for another app. I can validate and update app archives now, under the bundle id starting with maccatalyst. I have not submitted the catalyst version of my app yet, so I can't tell yet whether that's enough. I would still appreciate to hear what I am supposed to do, rather than trying until something magically proceeds.
Post
Replies
Boosts
Views
Activity
Renewing some certificates was certainly among the things I tried between by original post and the time I managed to create a Mac app store entry. Certificate management is so intransparent that I cannot tell whether that affected the outcome or not.
So, did you submit that app? May I remind you of the update to your post? Do IAPs on Mac Catalyst work with non-US accounts?
Thanks, that's what I observed as well. Curiously you can still download updated files. If you extract them and then open a terminal window, you can still extract useful information with old-fashioned Unix commands. For instance, the following translates a current topic, albeit not one-to-one:% grep -A 1 virus *.lg
CoreEmoji.lg: parasite | microorganism | microbes | bacterium | amoebas | bacteria | pathogens | virus | amoeba | viruses | bacillus | germs | microbe | germ | bacilli | parasites | amoebae | pathogen | microorganisms
CoreEmoji.lg- Parasit | Mikroorganismus | Mikrobe | Bakterie | Amöbe | Virus | Parasiten | Mikroorganismen | Mikroben | Bakterien | Amöben | Viren
It is still happening on our apps as well. It has even worsened since iOS 13.4 and macOS 10.15.4 have been released. One group of players even reported that excluding iOS 13.4 devices from the game improved their chances of connecting. Our recommendation to focus on Game Center friends and avoid iMessage and Auto-Match seems to help as well.Simulators always behaved differently on GameKit than real devices, so your experiments might guide into wrong conclusions.We have reported the bug as FB7646205. Apple ignores bugs unless they have been reported many times, so you should report it as well.
Try to get your hands on more devices to reproduce. Invitations work most of the time with two real devices, often with three, and more rarely with four. Customers complained it didn't work with six, but I have not assembled that many for testing, yet. One of my test devices is my Mac with the Catalyst version of the app, where the effect is the same.
Did your verification work in the past? My PHP-based receipt verification server has been working well for the past weeks, but suddenly stopped working yesterday. I can still verify receipts by bypassing my server and sending them directly to Apple, but that exposes my revenue to man-in-the-middle attacks.
After www.apple.com/support/systemstatus/ admitted a four-hour Game Center issue on April Fools’ Day, connection chances have increased a tiny little bit, but breakdowns are still very frequent. I did some intensive testing with four devices over the last days and found about a dozen different scenarios where connections break down.I identified 8 different scenarios were console messages seems to coincide with a connection breakdown. None of them notifies the app to let it react. All of them hint at timeouts or lost messages, and thus at overloaded servers on Apple’s side. Here are typical examples of these messages:scenario 1:2020-04-03 16:10:15.795282+0200 AppName[2959:960099] [ViceroyTrace] [ERROR] attempt_failover:4341 Connection timed out for [004B0858] (in clstate 3)2020-04-03 16:10:15.807142+0200 AppName[2959:960195] [ViceroyTrace] [ERROR] -[GKSessionInternal(_private) newNSErrorFromGKSessionError:description:reason:]:673 Error: 30503 -- Connection timed out..scenario 2:2020-04-03 16:14:54.251494+0200 AppName[2426:580756] [ViceroyTrace] [ERROR] SendCollectionRequest:508 /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/AVConference/AVConference-1640.8.1.1/ICE.subproj/Sources/ICEMessage.c:508: HandoverReport: failed to send SNATMAP request for [192.168.0.150:16401], error(801A0016). Save message for retryscenario 3:2020-04-03 10:01:44.887722+0200 AppName[2228:512032] [ViceroyTrace] [ERROR] OSPFParse_ParsePacketHeader:1083 Bad destination count=02020-04-03 10:01:44.888342+0200 AppName[2228:511553] [ViceroyTrace] [ERROR] ICEGetCandidates:580 /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/AVConference/AVConference-1640.8.1.1/ICE.subproj/Sources/ICE.c:580: ProcessCollectionResponse failed (8015000C)scenaro 4:2020-04-02 18:51:04.771723+0200 AppName[4319:832248] [ViceroyTrace] [ERROR] ICEStopConnectivityCheck:2733 ICEStopConnectivityCheck() found no ICE cscenario 5:2020-04-03 10:08:44.206127+0200 AppName[4745:989071] [ViceroyTrace] [ERROR] AGPSessionRecvFrom:1565 fail: message fragment @index 9 ser 00000000 should be 00000009scenario 6:2020-04-03 10:52:24.688927+0200 AppName[2839:906970] [ViceroyTrace] [ERROR] -[GKDiscoveryManager connectToSockAddr:port:forPeer:]_block_invoke_2:279 peer [FEC57AA662DEFB0F] data received with error Connection closedscenario7:2020-04-03 15:00:23.804775+0200 AppName[4841:1044343] [ViceroyTrace] [ERROR] ICEGetCandidates:580 /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/AVConference/AVConference-1640.8.1.1/ICE.subproj/Sources/ICE.c:580: ProcessCollectionResponse failed (8015000C)scenario 8:2020-04-03 15:40:02.542114+0200 AppName[2921:951200] [ViceroyTrace] [ERROR] -[GKDiscoveryManager connectToSockAddr:port:forPeer:]_block_invoke:248 peer [0EB172B1135C04CC] error in connectedHandler [Unable to connect]2020-04-03 15:40:02.543461+0200 AppName[2921:952495] [Match] Error sending dictionary { bundleID = "com.company.appname"; bundleVersion = "2.6"; isDevelopmentVersion = 1; message = 0; platform = 1; shortBundleVersion = "2.6";} to deviceID: 0EB172B1135C04CC, error = Error Domain=GKDiscoveryPeer Code=-1 "Unable to connect" UserInfo={NSLocalizedDescription=Unable to connect}Some easier scenarios revolve around lost authentication of the local player. Some of them return GKError with codes 6 or 8, which then enables the app to react. I managed to work around some of them by preloading and caching recent players. The lost authentications usually leave the following message in the console:2020-04-01 18:53:43.275375+0200 AppName[55085:4001598] [Error] _authenticateUsingAlert:Failed to authenticate player with existing credentials.Error: Error Domain=NSURLErrorDomain Code=-1001 "(null)"Other error messages keep cluttering the console in large numbers but seem to appear independently of success or failures. Here are some examples:2020-04-01 18:42:45.007690+0200 AppName[55085:4006523] [ViceroyTrace] [ERROR] ProcessEvent:1198 Send BINDING_REQUEST failed(801A0016).2020-04-01 18:42:45.046783+0200 AppName[55085:4006412] [ViceroyTrace] [ERROR] AGPSessionRecvFrom:1954 0x10105a070 sack: SEARCH FAILURE SERIAL NUMBER (00000005) FROM (2930F198)...2020-04-01 18:53:45.192184+0200 AppName[55085:4011378] [ViceroyTrace] [ERROR] ReXmitCollectionRequest:628 /AppleInternal/BuildRoot/Library/Caches/com.apple.xbs/Sources/AVConference/AVConference-1640.8.4.1/ICE.subproj/Sources/ICEMessage.c:628: ReXmit [SNATMAP_REQUEST] (1:0) from [192.168.0.214:16398] to [17.173.255.129:16384] failed (801A0016)2020-04-02 16:29:53.050503+0200 AppName[2671:749372] [ViceroyTrace] [ERROR] OSPFParse_ParsePacketHeader:1083 Bad destination count=02020-04-02 16:29:53.322328+0200 AppName[2671:749372] [ViceroyTrace] [ERROR] OSPFParse_ParsePacketHeader:1100 Checksum=42050 doesn't match2020-04-02 16:29:53.322873+0200 AppName[2671:749616] [ViceroyTrace] [ERROR] RemoveNominatedCandidatePair:982 failed with invalid index input: -1, candidate pair count: 122020-04-02 16:29:53.323351+0200 AppName[2671:749616] [ViceroyTrace] [ERROR] ICEStopConnectivityCheck:2733 ICEStopConnectivityCheck() found no ICE check with call id (1187846793)2020-04-02 16:29:53.328064+0200 AppName[2671:749616] [ViceroyTrace] [ERROR] gckSessionCheckPendingConnections:1446 gckSessionCheckPendingConnections: iICEChecksLeft=0, iUnconnectedNodeCount=0, iDDsExpected=12020-04-02 16:30:58.915093+0200 AppName[2671:749812] [ViceroyTrace] [ERROR] -[GKDiscoveryManager connectToSockAddr:port:forPeer:]_block_invoke_2:279 peer [26D308CB935EBD99] data received with error Connection closed
This issue seems to apply only to simulators. iOS 14 beta 5 on a real device receives products as expected.
Simulator support for IAP has always been weak. Product requests do still work on iOS 13 simulators, but not on iOS 14 simulators in Xcode 12 beta 5. You'll need a beta installation on a real device to test IAPs properly.
This issue still occurs in yesterday's iOS 14 beta 7. Worse still, localized apps display the base-language custom message from the info.plist under a localized title and with localized action buttons, and thus ensure complete confusion for end users. I prefer now not to customize it and leave users with the misleading but pre-localized default description, which at least they can try to understand in their own language. I filed a bug report but have little hope that any human will ever read it.
Still occurs in iOS 14 GM seed. My bug report FB8626851 stills says "Recent Similar Reports: None".
After many tries going back and forth between Xcode 12.1 and Xcode 12.2 beta 4 (the Release Candidate), I got both now to install and launch my app. However, it then gets stuck at the launch screen. The app does not start running, no debugging session is started, the console stays empty.
The app does get installed. When I stop the session, I can actually run the app stand-alone on the 14.2 device.
No iOS betas seem to be available at this time, and going back to 14.1 is not allowed.
Questions: Is there any version of Xcode that can debug apps on iOS 14.2 devices?
Do I need to stop development until Apple deigns to release Xcode 12.2?
Here is my solution:
Install the Xcode 12.2 release candidate. Don't worry about renaming as suggested by CrudeByte - https://developer.apple.com/forums/thread/665891?answerId=645676022#645676022, it will install as Xcode-beta.app in parallel to your Xcode.app. It will install "additional components", though.
Remove the contents of ~/Library/Developer/Xcode/iOS DeviceSupport (or at least the folders starting with 14.2)
Build and run your app in Xcode-beta (12.2 beta 4, also known as release candidate). This might take a few minutes as Xcode copies caches from your 14.2 device to the device support folder
You may want to continue in Xcode-beta or return to Xcode 12.1. Either will now build, run, and debug your app in reasonable time.
I understand your concerns about installing a beta, as I did have issues with switching back and forth between beta and release versions of Xcode a few times in the past. This time around it seems to work. I would still not recommend to run them at the same time.
tundaware - https://developer.apple.com/forums/thread/651012?answerId=616750022#616750022's answer on another thread inspired this. If you don't want to install a beta but can stomach replacing parts of your Xcode installation with material downloaded from GitHub, aaronsarkissian - https://developer.apple.com/forums/thread/665891?answerId=645879022#645879022's answer should help as well, at it is based on the same idea.
More precisely, Xcode 12.1 can install to iOS 14.2 only after you fix it with elements from Xcode 12.2 beta 4. You are absolutely right, robnotyou, betas should not be needed to install to the latest OS release with the latest tool release. iOS 14.2 has been released prematurely.
Hi corin, some of my users reported frequent disconnection issues in multipeer connectivity. I could reproduce them only in situations when switching off WiFi forces MCSession to use Bluetooth. Does that match your observations? Have you found another workaround or even the root cause in the meantime?