Post not yet marked as solved
Is this going to make your app less accessible (i.e. not ADA compliant)? I keep suggesting dictation as a possibility to friends and family who have RSI.
Claude31’s first answer was about what I do (use an IBOutlet for the constraint, and change it in code).I don’t recommend anything using model names, however. You would have to update your iPhone X code for iPhone XS, for example. Better is to figure out why you’re using the different constraint. Is it because there are non-zero safe insets? Is it because the screen is wider than 16 * 9? Make your decision based on those factors, and you’re more likely to be safe for the future.
Post not yet marked as solved
Getting off in the weeds about data collection techniques here, but my first thought is that your proposal has its own problems.One reason for that is that I do not even try to authenticate every launch. I authenticate when the player does something that could plausibly generate an achievement. (The idea is to present the initial authentication dialog only once the player is into the game a little.) So it’s just as likely that Game Center is under-reported, if players launch and get distracted before getting as far as authentication.Mostly mentioning this because I think it’s a best practice (like the way you shouldn’t ask to do push notifications until you have established a case for it).
Post not yet marked as solved
Yes I am sure I log a Game Center authentication only once per player per launch. And I choose to call this an authentication event.I don’t understand what you mean by multiple launches. I also mentioned that above — I log each application:didFinishLaunchingWithOptions:. I choose to call this a launch event.So I know how many times the app is launched, and I know how many times a launched game authenticates (for the first time that launch) with Game Center. So I think it is reasonable to say that 59% of my players are using Game Center. (That does assume that all players launch with the same relative frequency, but I can’t see making any other assumption there. If that’s your quibble, then I don’t know what to say. I’m trying to give useful information to the original poster.)
Post not yet marked as solved
Ah, yes, I think so. I am only logging once per player (not once per authentication callback), so the only way to double-count would be if they sign out while still running the game.
Post not yet marked as solved
I track a Launch for application:didFinishLaunchingWithOptions: — why is that not similar for a conventional game? (I realize there can be situations where apps launch but don’t go foreground, but I can’t think of why a game would ever do that.)
Post not yet marked as solved
Hard to be sure, but for Six Ages, about 59% (this is based on dividing the number of Authenticated events I track by the number of Launch events).
Post not yet marked as solved
I did not try manual layout (in the overall scheme of things I use a stack view, so that would be tricky), but DTS did not suggest it. But the bounds are correct so I don’t think that was ever the issue.
Post not yet marked as solved
It looks like the undocumentedNSAllowsDefaultLineBreakStrategy(mentioned in https://stackoverflow.com/questions/46200027/uilabel-wrong-word-wrap-in-ios-11/) restores standard wrapping, rather than an apparent attempt to avoid orphans.
Post not yet marked as solved
This seems odd, beginUpdates “Begins a series of method calls that insert, delete, or select rows and sections of the table view” and you have no such method calls.
Post not yet marked as solved
Probably you’ll have the same issue when you update it in the future, and get a blue dot…
Post not yet marked as solved
Not quit the same, but I was recently getting a weird crash much like that in Simulator. Apparently a PNG file had gotten corrupted in the app bundle. I assume your crash is in the wild, and you can’t just do a clean rebuild (which worked for me).