Articles tagged with 'macOS'

  1. Localising Externally-derived User Facing Strings
  2. 5 Nov

    Most of the text in our apps is baked in at build time, whether using strings and stringsdict files, or ideally the String Catalogs that were introduced with Xcode 15. However, on some occasions we may need to derive our text from a backend service, like if our app's content needs to be updated dynamically outside of our usual release cycle, or if we have user journeys based on external content hosted in a CMS. In these scenarios it is easy to lose the benefits of the platform provided localisation tooling. But with a little bit of work, we may continue to utilise NSLocalizedString and maintain all of its benefits, even when deriving our strings from external sources. Today we will explore how to do this. Read more…

  3. Notarising Swift Package Development Tools for Distribution
  4. 8 May

    With macOS's introduction of Gatekeeper, binaries downloaded from the internet must be code-signed before they can be run. This presents a challenge for development tools that we may wish to distribute in the form of pre-compiled binaries. However, as we shall see in this article, distributing our code-signed binaries need not be too much of a headache. Read more…

  5. Code Completion for Your App's Localisations with DJAStrings
  6. 3 Jul

    In the previous article we looked at the advancements that Apple has made in string localisation with the newly introduced String Catalogs for Xcode 15. Today we will look at how a new development tool, DJAStrings, makes using your app's localisations a breeze, with advanced code-completion and documentation features coming for free out of the box. Read more…

  7. String Localisation Advancements in Xcode 15
  8. 27 Jun

    String localisation is the most important step to take for making your app accessible to users across the world. By translating your app's copy to multiple languages, you are able to provide the user experience that your customers expect in locations around the globe. Today we will take a look at how the process of string localisation has been managed on Apple platforms up until now, and then take a dive in to the advancements that have been made in Xcode 15. Read more…

  9. UIFont Updates in iOS 17
  10. 7 Jun

    Typography is a key design element across all Apple platforms, supported by customised fonts that are included specifically for user interfaces across iOS, macOS, watchOS and more. Starting with the San Fransisco typeface introduced in iOS 9, Apple has iterated on the standard font to include support for compressed and expanded variants, as well as introduced new typefaces to support monospaced, rounded, and seriffed fonts. As well as different visual styles, Apple platforms have a set of built in semantic font types, allowing fonts to be chosen based on their purpose, rather than specific point sizes. This allows fonts to automatically update to match the user's preferred text size settings - a feature known as Dynamic Type. It is this feature that has seen an update in iOS 17. Read more…

  11. Simplified Project Configuration Using Multi-Platform Frameworks in Xcode 13
  12. 13 Jan

    With the advent of XCFrameworks in 2019, Apple made it simple to deliver a single framework package that catered for multiple platforms. However, producing a multi-platform framework still involved managing different per-platform configurations in the framework's Xcode project. This duplication of configuration could become repetitive and error prone, leading to potentially misconfigured framework versions. Now, thanks to Multi-Platform Frameworks in Xcode 13, this duplication problem has been resolved once and for all. Read more…

  13. Resolving LLDB "Couldn't IRGen Expression" Errors When Building XCFrameworks Using Carthage
  14. 26 May

    Pre-building your application's dependencies using Carthage and checking them in to source control has numerous advantages over not doing so. Local build times for developers as well as CI build times are vastly improved, we guarantee the consistency of built dependencies across build machines, and we don't have to dirty up our projects with a hideously over-engineered dependency manager like CocoaPods. However, doing so can lead to LLDB problems for projects developed on more than one machine i.e by development teams larger than one. Read more…

  15. Fixing "Image Events" AppleScripts Broken in macOS 10.15 Catalina
  16. 24 Nov

    Image asset resizing is a common operation carried out by developers when building iOS applications. Perhaps not all of the icons in your application can be represented using vector graphics, so 1×, 2×, and 3× representations need to be created to support various different Retina Display configurations. Also, at the time of writing, every application needs 18 differently sized variations of its icon to be provided in order to support notifications, the application's entry in the Settings app, and search results in the iOS spotlight UI. That's an awful lot of image resizing! Read more…