Sponsored Link
Build a functional Twitter clone using APIs and SwiftUI
Check out Stream's 7-part tutorial series on how to build your own Twitter in four days with Stream Chat, Algolia, 100ms, Mux, and RevenueCat. Get started now.
News
Compose Multiplatform UI Framework
I’ve written about Kotlin Multiplatform in the past, but what about Jetpack Compose, the declarative UI framework that looks and feels a lot like SwiftUI? JetBrains announced this week that the 1.4.0 release of their Compose Multiplatform UI Framework now supports iOS apps in alpha. You should give their marketing page a read if that sounds interesting.
Tools
Copilot for Xcode Works Okay
Talking of Copilot, Christian Tietze tried it, too.
Am I now complicit in exploiting closed-source authors whose code GitHub stole? Or GPL’ed code that is copy-and-pasted without attribution and without GPL’ing my own code, thus violating the license?
He has similar concerns to me. I read his post after writing the comment above, but he could not have timed this post better!
Filter Xcode's Project Navigator to only show modified files
I don’t use Xcode to interact with git
, but that doesn’t mean all of the source control features are useless to me. This is a great tip from Jesse Squires.
Code
Canopy for CloudKit
Here’s Jaanus Kase with the announcement of Canopy, a wrapper around the CloudKit APIs that seems to focus primarily on testing. Testing your CloudKit storage has never been particularly easy, so this might solve some problems for you. 👍
What I Learned Writing My Own CloudKit Syncing Library
Here’s more CloudKit syncing talk! This time from Ryan Ashcraft, who has been working for the past two years on CloudSyncSession, a CloudKit sync library that does not have a hard dependency on Core Data. The blog post is comprehensive documentation, too.
Mastering Canvas in SwiftUI
We’ve not had any SwiftUI articles this week! So, let’s fix that with Majid Jabrayilov’s take on SwiftUI’s Canvas
, including a section about combining Canvas
and TimeLineView
to allow animation!
Business and Marketing
Phased Releases
The phased releases feature of the App Store is great, but you don’t see it talked about much. Stuart Wheelwright changed that this week by writing up how and why he uses it.
Jobs
Apple Platforms Developer @ Cascable AB – Cascable is a small "indie" company based in Stockholm, Sweden. This is the job for you if you love working with and learning about multiple technologies. We have UIKit, AppKit, SwiftUI, and Swift-on-the-Server (Vapor) across our suite of products, and you'll be working with all of them! – On-site (Sweden) with some remote work (within European timezones)
Senior iOS Engineer @ Reveri – We’re looking for an experienced, adaptable, and engaged Senior iOS Engineer looking to make a genuine positive difference in our member’s lives through self-hypnosis. 100% SwiftUI codebase, iOS 15+, Combine, and Concurrency. Small team, 3 iOS, 2 Android Engineers, every role has impact. – Remote (within European timezones)
SwiftUI and TCA Developer @ MFB Technologies, Inc. – We make Align, an enterprise platform used by top trial lawyers. Looking for a motivated dev to join our iOS team and help us add new features and integrations to our iPad client. The client app is written entirely in SwiftUI using The Composable Architecture (TCA) framework. U.S. residents only. – Remote (within US timezones)
Are you or your company hiring? You know where to click to list your open positions for free!
I recently found this Copilot X plugin for Xcode from Shx Guo, and it set me thinking about my concerns about open-source licensing in AI-generated code again.
Before I get into it, I’ll clarify the problem. It relates to the implications of using code licensed under “copyleft” and GPL-style licenses in the training data for tools like Copilot and other software based on OpenAI Codex. While successful prosecutions of GPL violations are rare, they are not unheard of, and the implications can be serious.
This case may set a precedent if it proceeds, but right now, nothing is clear. I’m not on one side of the argument or the other, honestly. I’m certainly not an advocate for copyleft licenses, but I respect that they exist and certainly care about the potential risks of using these tools.
I’d love to know how big companies like Apple are handling this risk. I can’t imagine any reality in which Apple has not prohibited these tools internally. Imagine if an Apple employee working on some code in iOS or macOS, and it happened to generate some amount of GPL-licensed code. No matter how slim the chance of that happening, or the even smaller chance of it being proven to create a derivative work, a company like Apple can’t risk being forced to open-source sections of their operating systems against their will. All of this is before I even consider how unhappy Apple would be at having any of their code transmitted to the tool as a prompt, but that’s not the main issue I’m talking about here.
You may read this as a solo developer or a small company and think this could never affect you. That you’re too small to be a target of this kind of litigation. You’re almost certainly correct, but imagine a few years from now, in the final stages of due diligence with a large company trying to acquire your app and the innocent question of “Was any of your code written with AI code generation?” comes up. 😳
I also have concerns over the vast amounts of unpaid and uncredited human effort being turned into yet more profit for huge companies, but again, to attempt to keep this short-ish, I won’t go into that here.
All that said, avoiding all new technology based on AI isn’t the correct choice either. The explosion of AI tools over the past year is only the beginning, and it will be really easy to be left behind. I’ve experimented with Midjourney quite a lot, and I pay for and use ChatGPT daily. I even used it as a starting point when researching this comment! Even with all of the problems with the early iterations of these tools, they are fascinating and already useful.
Should Apple be working to integrate tools like Copilot into Xcode? Many people would be thrilled if they did, and I’m sure it’s not this licensing worry holding them back. If they don’t, how long will it be until Xcode is perceived to be falling behind, and how long before that affects the developer perception of Apple platforms? There are way more questions than answers here.
In all likelihood, it will be extremely challenging to prove the source of AI-generated snippets from such a large model, and that’s before you even get to the argument of whether code using those snippets could be a derivative work. GitHub Copilot also has a feature to block generated suggestions that match public code, and while that’s a good feature it also feels like it acknowledges that there is a problem.
I’d just be much more comfortable experimenting with Codex-based tools if OpenAI had not used GPL-licensed training data.
Dave Verwer