Sponsored Link
Build cross platform apps, in Swift? Is that even possible?
Yes it is! Why aren't you using your very favourite language to build for both iOS and Android? One codebase, two platforms - it really is that simple. Oh, and it's free too. What are you waiting for?
News
Apple fails to block porn & gambling ‘Enterprise’ apps
What's that noise? Is it the implosion of the enterprise distribution programme? 😂 I can't really imagine an end to the story of the last few weeks that doesn't involve some kind of changes to it. I'd love to be privy to the conversations going on about this inside Apple right now. This Twitter thread from Josh Constine, the author of this article is also worth reading.
How to activate Apple ID 2FA when you have two accounts
You will all have received the email from Apple saying that 2FA is going to be required on Apple Developer accounts very soon. That seems like a sensible thing to do, right? What could possibly go wrong? Well... Even if you only have one Apple developer account, it's likely it's not the account you're signed into on your main iOS device. Thanks to Jonathan Tarud for this solution, no matter how hacky it is!
Ending my fastlane chapter
First of all, thank you Felix for everything you have done (so far!) for the iOS community. I'd say fastlane is the most important open source iOS related tool today. Do you think there would be an App Store Connect API without it? I don't think it's quite that simple, but fastlane certainly showed Apple there was a huge demand to automate processes around the App Store.
Secondly, it sounds like fastlane remains in great hands. Google still have full time staff on it, and of course the community contributions continue every day. I'm sure it'll continue to thrive even without Felix. 😻
Tools
Periphery
I first linked to Periphery last year. At the time it was a paid tool, but it's transitioning to be free and open source now. I had a quick conversation with Ian Leitch about it this week and he was originally torn between releasing it as a paid tool, or as open source, so it's maybe not quite as much of a tragedy as it first sounds! It's still a great tool, so you should go and clean up your unused code with it.
tuist
Back in Issue 362 I linked to XcodeGen, a way to generate your project files with YAML. This week I came across tuist, which let's you generate them in Swift. They are both based on the xcodeproj library, so all you need to do is pick which flavour of project definition you prefer.
Making AR Apps and Websites
Making an AR app? You will have heard of USDZ after last year's WWDC, but that's far from the only file format you'll need to deal with. What about Collada files, or GLTF? What if there were a tool which converted from Blender to all of these formats? Let Gareth Battensby tell you all about it.
Code
Evolving Swift On Apple Platforms After ABI Stability
What does ABI stability mean for the evolution of Swift? Now the swift runtime isn’t part of each app there are several challenges. Joe Groff answers some great questions that about what we can expect in the future.
Swift 5 Module Stability Workaround for Binary Frameworks
Talking of ABI stability, and despite what I said last week (which was wrong!) we don't, and won't have module stability in Swift 5.
But... It looks like there might be a workaround for those of you still wanting to ship binary libraries built with Swift and Hesham Abd-Elmegid is here to explain it. The Twitter conversation with Jordan Rose at the bottom of the post is encouraging too.
Advanced coordinators in iOS
Paul Hudson on a topic that comes up quite regularly, the coordinator pattern. Presented both as a blog post, and as a two part video (Part 1, Part 2), this is really everything you'll need to know on the subject.
Custom View Controller Presentation Tips & Tricks
UIKit is full of little gotchas. 👾 If you've ever worked with custom presentations and transitions you'll certainly have come across a few. Kyle Bashour illustrates some of the problems very well, and presents a few solutions too. 👍
Business and Marketing
Managing Subscriptions on iOS
Is it still a web page? Yes. Is it still slow to load? Yes, terribly. Does it still sometimes completely fail? Yes. Is this better than it was before this update? YES. This is a step in the right direction.
US iPhone users spent, on average, $79 on apps last year, up 36% from 2017
At first $79 seemed high, but then I checked my own subscription list and I'm well over $100. Is this good news for the App Store, or is it a sign that people have lost track of how much they are spending on subscriptions and will end in a crash? It's probably a little of both. 😀
Comment
Thank you all for an amazing response to last week's comment. This is clearly a subject people are very passionate about! I closed the survey on Wednesday with 1,360 responses - thanks to you all for your time.
So without further ado, I know what you're waiting for... Here are the results, along with my comments on them.
After I sent last week's email, I realised I never explicitly stated my opinion on when screen recording is completely fine, so let me do that now. It basically boils down to how explicit and obvious the consent is. It needs to be much more than a line in the privacy policy, or an opt-in for analytics prompt. I believe you need to ask the user, in clear language for their permission to "record their screen and keystrokes". You also need to respect their choice to say no.
So with that in mind, my opinion on user testing tools like Lookback that make the start of the recording really obvious is that they are absolutely fine. There is no way you could have your screen recorded with tools like these and not be aware of it. The same goes for bug reporting frameworks that allow you to capture a screenshot/video of the bug, for example Instabug (who are a regular sponsor). In my opinion those are all completely different than the analytics tools I was ranting against last week. I also think tools like these should be the reason that screen recording isn't blanket banned across the App Store.
I also had lots of email on the subject, so (with permission) am going to (anonymously) quote a few people here:
This was a common theme in the emails. Generally, people use and act on "regular" aggregated analytics but that doesn't seem to be the case with screen recording analytics.
I got a lot of emails like this too, Apple analysed apps for these frameworks and if you were using one you probably also got an email late on Friday night (US time) saying you had 24 hours to remove it.
This sums up the topic perfectly for me. If this is how you feel about your analytics, you know it's wrong. I'll leave this subject for now, but I don't think we've heard the last on it yet though!
Dave Verwer