Key Updates from Apple: OpenELM, Privacy Manifests, and Alternative Marketplaces

Article's main picture
  • #AI
  • #SPM
  • #Tuist

• 5 min read

Apple's OpenELM. Is SPM worth it? New requirements for Privacy Manifest. First alternative marketplaces in the EU. And free tools for open-source projects. Let’s get into these and other updates from iOS and macOS development.

OpenELM release

Apple is entering the AI race. The company has published the Open Efficient Language Models (OpenELM) family on Hugging Face. Currently, models range from 270 million to 3 billion parameters. Notably, OpenELM is optimized for on-device operation, highlighting Apple's commitment to information privacy.

The CoreNet library used to create OpenELM is now also publicly available. Apple's repository includes tools and configurations for training models, along with training datasets.

Interestingly, this is happening just before WWDC 2024, where the biggest iOS update is expected, including AI integration into the system. Could the release of OpenELM be preparing fans for something bigger?

SPM vs .xcodeproj scaling

Developer Jonathan Crooke shared Bumble’s experience in scaling a project consisting of hundreds of modules and more than 100 Workspaces. The team compared SPM, Tuist, and Bazel for modularization and improving the existing workflow.

Eventually, Bumble chose Tuist as the optimal solution. Jonathan noted advantages such as the relative ease of migrating the project, support for modularization, and consistent code generation.

Tuist vs Base opening time. Image: Jonathan Crooke from Bumble Tech via Medium
Tuist vs Base opening time. Image: Jonathan Crooke from Bumble Tech via Medium

The downside was a slight increase in project opening time compared to manually created xcodeproj.

Performance comparison between .xcodeproj and SPM. Image: Jonathan Crooke from Bumble Tech via Medium
Performance comparison between .xcodeproj and SPM. Image: Jonathan Crooke from Bumble Tech via Medium

However, I want to highlight SPM stress tests. Compared to xcodeproj, the time for the clean build increased by 154%, and the incremental build by 90%. The only thing that remained unchanged was the slow indexing of the project.

Cached graph resolution times. Image: Jonathan Crooke from Bumble Tech via Medium
Cached graph resolution times. Image: Jonathan Crooke from Bumble Tech via Medium

Additionally, resolving the graph of cached dependencies across hundreds of modules can take over 10 seconds, which does not help with the engineering team's efficiency.

Required Privacy Manifest

During WWDC 2023, Apple introduced the Privacy Manifest, which makes data usage in applications and their third-party dependencies more transparent. Starting from May 1st, the App Store is changing the rules for app submissions. Developers using Required reason API are obliged to declare the reasons for their use in the Privacy Manifest.

User Defaults
User Defaults

Consider the common UserDefaults API example. After creating the Privacy Manifest, we add the API type - NSPrivacyAccessedAPICategoryUserDefaults. And specify the reason for use - in our case, access to data within one App Group (1C8F1.1).

Automatic generation of privacy manifest. Image: Donny Wals
Automatic generation of privacy manifest. Image: Donny Wals

To make life easier for developers, Donny Wals launched the website privacymanifest.dev, which lists all APIs that require declaration. Simply select an API from the list, specify the reasons for its use, and the service will automatically generate the manifest for you.

Alternative stores

Setapp Mobile
Setapp Mobile

The first alternative marketplaces are already available to users. Setapp Mobile launched an open beta in May, already providing access to more than 20 apps.

Sideloading

It appears that sideloading changes in the EU market are starting to gain momentum. Apple has allowed authorized developers to distribute apps from their own websites, without using alternative marketplaces. And the updated rules on calculating Core Technology Fees for non-profit organizations and Small Business Program participants are opening new opportunities for developers.

And finally, sideloading will become available on iPads. Most likely, the feature will appear in iPadOS 18 this fall. So, expect Setapp on iPads.

New opportunities for open-source projects

Tuist and Emerge Tools have announced free access to their services for open-source projects.

  • Tuist provides free access to Tuist Cloud, which saves time on builds and test results.
  • Emerge Tools offers Size Analysis, a static bundle analysis tool for monitoring and reducing app size, with practical optimization tips like removing duplicate files and optimizing resources.

This is an independent publication and it has not been authorized, sponsored, or otherwise approved by Jonathan Crooke from Bumble Tech and Donny Wals.

More From engineering

Subscribe to our newsletter