Stuart Breckenridge

Fortnite Platform Restrictions

The geek in me wanted to see how Fortnite played in 4K on the Xbox One X. However, after downloading, I was disappointed to be hit with this error message when the game started:

Your Account can not play on this Platform.

It turns out that because I have a PS4 PSN ID linked to my Epic Games account, I can’t play on Xbox One with an Xbox Gamertag linked to that same Epic Games account. Platform Restrictions kick in and they suck. According to this help article, if you want to play Fortnite on both PS4 and Xbox, you need two Epic Games accounts:

If you receive this error when attempting to launch Fortnite, it means that your account is locked out of playing on Xbox One. In order to play on that platform, you will need to unlink the Xbox Live Gamertag you are attempting to play on from your Epic account, and then re-link it to a new Epic account.

It’s user hostile in the extreme. There must be a better solution1.

  1. Perhaps this one which allowed PS4 and Xbox cross-platform play, accidentally. ↩︎


GDPR App Updates

The EU General Data Protection Regulation (GDPR) requires quite a bit of work from app developers to ensure their apps are compliant. I want to outline what I am doing with my apps.

SG Transit

v1.0 of SG Transit contains the Fabric and AdMob SDKs. Fabric is used for crash monitoring and app analytics (i.e. what bus numbers are the most popular); and AdMob is used to provide advertising services.

v1.1 will remove Fabric from the app entirely1. Presentation of personalised ads will only occur with the consent of the user.

Baby Feeds

Up to v2.0.3 included the AdMob SDK. Similar to SG Transit, in v2.1 presentation of personalised ads will only occur with the consent of the user.

Primes – Numbers Game

Primes uses Game Center, which is subject to Apple’s Privacy Policy. While the app collects no personal data, you should be aware of the Game Center T&Cs:

The Service is subject to Apple’s Privacy Policy at https://www.apple.com/privacy. As set out in the Privacy Policy, when you use the Service, such as inviting other users to join the Service, participating in leader boards, enabling invitations or multiplayer functionality, or displaying status messages, the personal information you share is visible to other users and can be read, collected, or used by them. You are responsible for the personal information you choose to submit. When playing a game that supports multiplayer functionality, other users accessing the Service from within the same game on the same Wi-Fi network, local area network or within range of Bluetooth will be able to see that you are nearby (unless you turn this feature off), and see your nickname and photo, or full profile if you have a friend relationship with such user. If you choose to have your public profile set to “on”, other users of the Service can see your full profile, including your full name, activity (such as the games you have played and when you played them), scores, and achievements, and you can be recommended as a friend to other users. If your public profile is set to “off”, only users with whom you have established a friend relationship can see your full profile, and you will not be recommended to others; only your nickname and photo will be visible to users who are not friends. If you send or receive a friend request, the full name associated with your Apple ID will be shared with those users to whom you send, or from whom you accept, a friend request, and Apple may recommend games that you have played to your friends.

There will be no update to Primes for GDPR2.

The FFI List

This app will be retired prior to GDPR implementation. It does not collect any personal data.

  1. I had considered an opt-in option, but felt the uptake would be poor. ↩︎

  2. It does need to an update to, amongst other things, convert it from Objective-C to Swift, and to support larger interfaces natively. ↩︎


BoringSSL SSL ERROR ZERO RETURN

In an iOS app I’m building, I’m using URLSession to make API requests. However, shortly after the first request has completed successfully this error appears in the console log:

SSL_ERROR_ZERO_RETURN(6): operation failed because the connection was cleanly shut down with a close_notify alert

Enabling CFNETWORK_DIAGNOSTICS doesn’t reveal anything out of the ordinary, and I haven’t found anything on Stack Overflow that reveals the underlying cause of the issue. Strangely, testing the API through the app, browser, and Postman, works perfectly.

I just can’t stand seeing this pointless entry in the console log, the best description of which is available on Apple’s Developer Forums:

What’s happening here is that this log message relates to a common scenario that may or may not be correlated to any actual problem.

If anyone has any ideas as to how to resolve this error message, ping me on Twitter.

Config:

  • Server:
    • Ubuntu 16.04.4
    • Apache/2.4.18
    • OpenSSL 1.0.2g
  • Client:
    • iOS 11.3
    • Swift 4

3D Touch Needs to be Pervasive

John Gruber at Daring Fireball:

I also think it’s a serious problem that iPhones have 3D Touch and iPads don’t, yet iPads are stuck running an OS where 3D Touch is the way to bring up a contextual shortcut menu, but that’s a different rant.

The 3D touch gesture that allows you to clear all notifications in one go is only available on iPhone. Every time I try that gesture on my iPad to clear notifications I’m left frustrated: not in that the functionality isn’t available, but that Apple have tied a useful feature to a hardware requirement needlessly. There’s no reason clearing all notifications couldn’t be handled via a long press rather than a 3D touch.