I have a simple record called UserCode, the name of the record is created by each user entering the app for first time creating an alphanumeric random string of 8 letters.
When I try to query, or fetch this record FROM THE APP it simply gives me error 11 (not exists) or records.length==0 if i try to query.
If i do it from the dashboard all fine, i can query and fetch.
The name of the record is set as searchable, also tried with queryable. Nothing works.
The icloud account I use in the app is the same one as the dasboard.
All permissions are open for that record, except world write.
Any explantion or sollution? i've been 2 days around this and i cant find a way.
Post
Replies
Boosts
Views
Activity
When trying to fetch the leaderboards we get this exception.
Default constructor not found for type Apple.Core.Runtime.NSMutableArrayString.
Please help
I'm using Unity 2020.3.33 and an external asset too update and fetch leaderboards, when I replaced the code to use the unity one I see that crashes when fetching leaderboards.
Authentication works fine but this happens when I try to fetch my leaderboards:
Code:
var leaderboards = await GKLeaderboard.LoadLeaderboards(GameCenter.LeaderBoards.Age.ToString());
Stack:
Default constructor not found for type Apple.Core.Runtime.NSMutableArrayString
StackTrace: at System.RuntimeType.CreateInstanceMono (System.Boolean nonPublic) [0x00000] in <00000000000000000000000000000000>:0
at System.RuntimeType.CreateInstanceSlow (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00000] in <00000000000000000000000000000000>:0
at System.RuntimeType.CreateInstanceDefaultCtor (System.Boolean publicOnly, System.Boolean skipCheckThis, System.Boolean fillCache, System.Threading.StackCrawlMark& stackMark) [0x00000] in <00000000000000000000000000000000>:0
at System.Activator.CreateInstance[T] () [0x00000] in <00000000000000000000000000000000>:0
at Apple.Core.Runtime.ReflectionUtility.CreateInstanceOrDefault[T] (System.IntPtr pointer) [0x00000] in <00000000000000000000000000000000>:0
at Apple.Core.Runtime.NSMutableArrayFactory.Init[TBase,TElement] () [0x00000] in <00000000000000000000000000000000>:0
at Apple.GameKit.Leaderboards.GKLeaderboard.LoadLeaderboards (System.String[] identifiers) [0x00000] in <00000000000000000000000000000000>:0
at UIGovHighscore+d__34.MoveNext () [0x00000] in <00000000000000000000000000000000>:0
at System.Runtime.CompilerServices.AsyncVoidMethodBuilder.Start[TStateMachine] (TStateMachine& stateMachine) [0x00000] in <00000000000000000000000000000000>:0
at UIGovHighscore.ReadResidentRankV2New () [0x00000] in <00000000000000000000000000000000>:0
Hello people.
I've been giving my CloudKit game for testing to some dozens of users.
The save file is being saved in their Private Database. (approximately 100KB).
One of them got on first run the cloudKit exception 25 (QuotaExceeded) which means the user's iCloud was full so the first record was not created in the users private database.
This happened on the first attempt to run the game, so I will probably instruct to save into the Public Database.
But my question is.... is it possible that this error pops up AFTER I created the first record? I mean... could my game run perfectly for x time and then, if the user fills the iCloud space with other stuff... one day get QuotaExceeded and stop working?
Thanks a lot.
I'm receiving exceptions and user reports from devices that don't belong to my testers.
One of them even has the Chinese language set in it. Another thing is they dont seem to have any iCloud account set up so it makes me think its an emulator of some type.
Is it possible these reports are coming from any TestFlight bot or tester ? Or should I start to worry of who's having access to my app?
Thanks
Hi, as far as I found there's not a way of hiding In App Purchases in certain countries. Actually, Apple's Guidelines suggest that is not even allowed.
But not long ago countries like Belgium and Netherlands have taken legal actions against studios that offer this kind of In App Purchases so... Whats the solution?
Completely remove any type of loot boxing from our game?
Remove the game from those countries App Store ? (I dont know if this is even possible, I guess it is)
Find the location of the player programmatically and show/hide IAP's (not very reliable)
I'm surprised I couldn't find more debate about this since tons of games offer this kind of purchase.
Thanks in advance!
I went through some old posts and seems this is not possible but I would like to know if there's any update:
Is it not possible to open iCloud settings from the app?
I tried with the following URI Schemes:
prefs:root=CASTLE (doesn't work)
App-Prefs:root=CASTLE (brings me to the default settings window)
Considering the iCloud settings need to be enabled to use CloudKit or GameKit and some users don't even know where are the iCloud settings I think this is quite important.
I'm using CloudKit private database to sync the progress of my game among the different devices of a determinate user.
So far so good, works nicely.
But I don't know how to avoid this user to play the game with 2 different devices at the same time.
Ideally I would like to kick the first device out of the game when the second one enters, but not allowing the second device would also be an option.
I thought about using subscriptions but the more I read about them the more they seem oriented for push notifications so I was wondering if there's an easier way.
Also thought about creating a 'keepAlive' register which I could set the timestamp every minute or something like that to tell the second device the game is in use... but I also find it a bit messy and unnecessary...
I guess there has to be an easy way to do this that I'm missing.
Any hint?
I'm trying to do something quite simple. I want to avoid 2 devices with the same appleID to use the private database at the same time.
For this purpose I thought about using a subscription. This way whenever a device enters the game it updates a register with the deviceUID. And if another device (using the same appleID and private database) is playing, gets notification and I let him know before kicking him out of the game. (We dont want 2 devices to use the database at the same time)
Is this possible using the subscriptions? or did I misunderstood something? Because I was able to create the subscription and the code is supposedly listening to it but I dont get any notification by code when the register declared as 'suscriptionType' is modified or even deleted.
Thanks a lot.
Whenever I enter the CloudKit and check the logs in the development database I can see NO EVENTS at all. Neither in history or live events while I test the app.
Although I can see on telemetrics that records have been created, modified, deleted and even some conflicts have occurred.
I tried resetting the development environment just in case but it didn't solve the problem.
By the way seems it's happening to more users:
https://developer.apple.com/forums/thread/659851
Thank you very much.
I have a general question for the apple customers here... Does the Feedback assistant ever solved any problem you have reported?
Because I've filled 2 DTS and both have redirected me to this nice assistant to post the problem there... the first one maybe 1 month ago, has been completely ignored, even being an iOS 14.0 and 14.0.1 bug confirmed by several users. And seems the other one I filled is going to be ignored too.
So I'm just wondering if this is the kind of support I must expect by using apple's services.
Whenever I enter the CloudKit and check the logs in the development database I can see NO EVENTS at all. Neither in history or live events while I test the app.
Although I can see on telemetrics that records have been created, modified, deleted and even some conflicts have occurred.
Do I have to enable something actively to send logs? or they should be showing up by default? Is this happening to anybody else?
I tried resetting the development environment just in case but it didn't solve the problem.
Thank you very much.
No live logs, also no logs in historical. Anybody experiencing the same issue? We can see activity in the telemetry section but nothing appears in the logs.
Is this a bug? please someone?
This exception triggers when the app tries to get the instance of the local database. It works well on other devices so far. I've tried 3 different devices with 3 different iOS versions (13, 14.1 and 14.2) And the one having this problem is the one with the 14.1 although I doubt this is an iOS problem.
CKErrorDomain 3 seems to show connectivity problems but the device has good internet connection, also the iCloud is enabled.
Anybody experiencing same issue?
If I run the app using Xcode I have no problems.
Incident Identifier: 457D137B-4C71-4234-B00C-A7FCFB54B83E
CrashReporter Key: 8209fa6a3cb483ad2e2f83c4080e8b5156eec66d
Hardware Model: iPhone11,8
Process: city [744]
Path: /private/var/containers/Bundle/Application/BB8D479E-0C9F-4A22-ABB0-6E4371CA3CA3/city.app/city
Identifier: com.myapp.app
Version: 836 (0.97)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: com.myapp.app [572]
Date/Time: 2020-11-04 17:38:27.4634 +0100
Launch Time: 2020-11-04 17:38:07.3599 +0100
OS Version: iPhone OS 14.2 (18B91)
Release Type: User
Baseband Version: 3.01.01
Report Version: 104
Exception Type: EXCCRASH (SIGKILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXCCORPSENOTIFY
Termination Reason: Namespace SPRINGBOARD, Code 0x8badf00d
Termination Description: SPRINGBOARD, <RBSTerminateContext| domain:10 code:0x8BADF00D explanation:process-launch watchdog transgression:
application<com.myapp.app>:744 exhausted real (wall clock) time allowance of 20.00 seconds | ProcessVisibility: Foreground | ProcessState: Running | WatchdogEvent: process-launch | WatchdogVisibility: Foreground | WatchdogCPUStatistics: ( | "Elapsed total CPU time (seconds): 9.720 (user 9.720, system 0.000), 8% CPU", | "Elapsed application CPU time (seconds): 0.105, 0% CPU" | ) reportType:CrashLog maxTerminationResistance:Interactive>
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystemkernel.dylib 0x00000001d217bf5c _ulockwait + 8
1 libdispatch.dylib 0x00000001a4e71794 dlockwait + 56
2 libdispatch.dylib 0x00000001a4e716c0 dispatchoncewait + 124
3 UIKitCore 0x00000001a782c430 -[UIApplicationConfigurationLoader loadInitializationContext] + 152
4 UIKitCore 0x00000001a782c77c -[UIApplicationConfigurationLoader applicationInitializationContext] + 32
5 UIKitCore 0x00000001a7813394 -[UIScreenInitialDisplayConfigurationLoader initialDisplayContext] + 180
6 UIKitCore 0x00000001a7813680 +[UIScreen initialize] + 128
7 libobjc.A.dylib 0x00000001b97cdc58 CALLINGSOME+initializeMETHOD + 24
8 libobjc.A.dylib 0x00000001b97d4318 initializeNonMetaClass + 716
9 libobjc.A.dylib 0x00000001b97d5910 initializeAndMaybeRelock+ 39184 (objcclass*, objcobject*, mutextt<false>&, bool) + 280
10 libobjc.A.dylib 0x00000001b97e4498 lookUpImpOrForward + 956
11 libobjc.A.dylib 0x00000001b97ce524 objcmsgSenduncached + 68
12 UIKitCore 0x00000001a782cc80 UIGetCurrentFallbackTraitCollection + 100
13 UIKitCore 0x00000001a78299d8 +[UITraitCollection currentTraitCollectionWithFallback:markFallback:] + 176
14 UIKitCore 0x00000001a7831454 UICurrentImageTraitCollection + 28
15 UIKitCore 0x00000001a78310f4 +[UIImageConfiguration completeConfiguration:fromConfiguration:] + 164
16 UIKitCore 0x00000001a77dfad0 +[UIImage imageNamed:inBundle:withConfiguration:] + 180
17 UnityFramework 0x00000001059fbb38 +[LUTheme initialize] + 10468152 (LUTheme.m:150)
18 libobjc.A.dylib 0x00000001b97cdc58 CALLINGSOME+initializeMETHOD + 24
19 libobjc.A.dylib 0x00000001b97d4318 initializeNonMetaClass + 716
20 libobjc.A.dylib 0x00000001b97d5910 initializeAndMaybeRelock+ 39184 (objcclass*, objcobject*, mutextt<false>&, bool) + 280
21 libobjc.A.dylib 0x00000001b97e4498 lookUpImpOrForward + 956
22 libobjc.A.dylib 0x00000001b97ce524 objcmsgSenduncached + 68
23 UnityFramework 0x00000001059ddd00 +[LUConsoleLogEntry load] + 10345728 (LUConsoleLogEntry.m:44)
24 libobjc.A.dylib 0x00000001b97dd21c loadimages + 928
25 libdyld.dylib 0x00000001a4ec1840 invocation function for block in dyld3::AllImages::runInitialzersBottomUp+ 71744 (dyld3::closure::Image const*) + 224
26 libdyld.dylib 0x00000001a4eb318c dyld3::closure::Image::forEachImageToInitBefore(void + 12684 (unsigned int, bool&) blockpointer) const + 104
27 libdyld.dylib 0x00000001a4ec2344 dyld3::AllImages::loadImage+ 74564 (Diagnostics&, char const*, unsigned int, dyld3::closure::DlopenClosure const*, bool, bool, bool, bool, void const*) + 828
28 libdyld.dylib 0x00000001a4ec1e2c dyld3::AllImages::dlopen+ 73260 (Diagnostics&, char const*, bool, bool, bool, bool, bool, void const*, bool) + 904
29 libdyld.dylib 0x00000001a4ec3d14 dyld3::dlopeninternal+ 81172 (char const*, int, void*) + 372
30 libdyld.dylib 0x00000001a4eb5d44 dlopeninternal+ 23876 (char const*, int, void*) + 112
31 CoreFoundation 0x00000001a51d2124 CFBundleDlfcnLoadFramework + 140
32 CoreFoundation 0x00000001a51a1e10 _CFBundleLoadExecutableAndReturnError + 384
33 Foundation 0x00000001a64d1908 -[NSBundle loadAndReturnError:] + 336
34 city 0x0000000102533cb0 UnityFrameworkLoad() + 31920 (main.mm:12)
35 city 0x0000000102533db4 main + 32180 (main.mm:25)
36 libdyld.dylib 0x00000001a4eb16c0 start + 4