TrozWare

Recent content on TrozWare
https://troz.net/ (RSS)
visit blog
Swift Format in Xcode
6 Nov 2024 | original ↗

In Xcode 16, Apple quietly introduced the ability to format your Swift files using Swift Format. I’m a long-time user of SwiftLint, but having such a tool built into Xcode would be a great convenience, so I decided to give it a try. Here is my description of why I use such a tool, how well it works compared to the alternatives, and how I...

App Permissions on macOS Sequoia
2 Oct 2024 | original ↗

In 2012, with OS X Mountain Lion, Apple added a feature called Gatekeeper . It had been available earlier as a command line utility, but this was the first time they made it accessible through System Preferences. Gatekeeper allowed users to control which apps could be installed on their Macs by offering three options: allow apps from App Store,...

Xcode Folders & Groups
17 Sept 2024 | original ↗

In Xcode 16, project files and folders are arranged differently in the Project navigator. What used to be a group is now a folder, and this simple change has some interesting effects. At first, I was against the new scheme - in fact in my SwiftUI for Mac 2024 article, I specifically recommended reverting back to the old group method. But after...

Converting an App from Obj-C
12 Sept 2024 | original ↗

A couple of months ago, I got a message from App Store Connect pointing out that one of my iPhone apps - Berio’s Sequenza VII - had not been updated in 3 years and so would be removed from the App Store unless I updated it within 90 days. I disagree with this policy, but small developers like me can’t fight Apple. Since I want the app to remain...

SwiftUI for Mac 2024
22 Aug 2024 | original ↗

Over the years, I have written articles and sample apps to demonstrate the new features of each year’s SwiftUI updates with particular emphasis on macOS app development. Last year, the major update to SwiftUI was the new data flow system using the Observation framework. I covered that in my article SwiftUI Data Flow 2023 but I didn’t feel there...

Book Building
6 Aug 2024 | original ↗

I started writing books for Kodeco when I was asked to contribute some Mac content to SwiftUI by Tutorials. I quickly learned that I really enjoyed long form technical writing but I wanted to create more Mac-specific content. After some negotiations, Kodeco agreed to my plan to write macOS by Tutorials and the first edition was published in April...

macOS by Tutorials
23 Jul 2024 | original ↗

In April 2022, Kodeco published the first edition of macOS by Tutorials. Nothing stays the same in the world of Apple development, so I started to plan an update after WWDC 2023. At around that time, Kodceo was going through a transformation from being like a library to being more of an educational institution. Their focus is now on multi-modal...

macOS by Tutorials
21 Jul 2024 | original ↗

If you’re an iOS developer who wants to branch out into creating native macOS apps, this is the book for you! The book is available for sale through Gumroad at macOS by Tutorials. If you’d like to check out the start of the book including the table of contents and the first chapter, you can read it online at macOS by Tutorials Sample. Version...

Books
18 Jul 2024 | original ↗

macOS by Tutorials If you're an iOS developer who wants to branch out into creating native macOS apps, this is the book for you! Written by Sarah Reichelt. Available from Gumroad. Edition 2.0.1 published on...

Man Reader 2
13 Oct 2023 | original ↗

Several years after I started planning it, Man Reader version 2 is now available. This is a major update with a completely new, modern, user interface and it’s available from the Mac App Store. Man Reader is a utility app for reading macOS’s man pages. Man Reader allows quick, convenient and easy access to the man pages on your system, useful for...

Man Reader 2
13 Oct 2023 | original ↗

Several years after I started planning it, Man Reader version 2 is now available. This is a major update with a completely new, modern, user interface and it’s available from the Mac App Store. Man Reader is a utility app for reading macOS’s man pages. Man Reader allows quick, convenient and easy access to the man pages on your system, useful for...

SwiftUI Data Flow 2023
9 Jul 2023 | original ↗

SwiftUI is a reactive framework where the data drives the UI. In 2019, I wrote a post detailing how I manage the various forms of data flow through a SwiftUI app, and with the help of others in the community, I iterated over this until I had a good understanding of the concepts and which methods you should use when. In 2021, I updated the post to...

macOS Apprentice
28 Jun 2023 | original ↗

I’ve written another book! This one is for people who want to get started in macOS development and here it is: macOS Apprentice, published by kodeco.com (formerly raywenderlich.com). If you’re a beginner or near-beginner who wants to start learning Swift, SwiftUI and AppKit for building Mac apps, then this is the book for you. img { margin:...

Sparkle
11 Apr 2023 | original ↗

Last month, I posted about writing my new todo app called To-Day: why I wrote it and how I wrote it. At the time, I mentioned that I had set it up to install updates using Sparkle but there was too much detail to include in the initial post. So here, as promised, is the article about implementing Sparkle. One of the great conveniences of App...

To-Day
8 Mar 2023 | original ↗

When I sit down at my computer at the start of a work day, I typically like to plan out the broad outline of my work. This is the three or four major tasks for my day. I don’t want a minute-by-minute plan, just a list of the major items, so that I can check them off as I work, and get to the end of the day without feeling like I’ve forgotten...

New Links
16 Dec 2022 | original ↗

As we round out the year, there are several new addresses I’d like people to use to contact me or get my book. First, raywenderlich.com has re-branded to Kodeco. Still the same great content created by terrific people, but with a fresh new design that makes it easier to follow the learning path that you prefer. If you want to read my macOS by...

SwiftUI for Mac 2022
17 Jun 2022 | original ↗

In December 2019, I wrote a series of articles about using SwiftUI to build a Mac app. And in July 2020, I re-visited the sample app to apply the new SwiftUI features made available in macOS BigSur. Now that macOS Ventura and Xcode 14 are in beta, it’s time to build the app again while learning how to incorporate the new APIs. Right now, it’s...

Writing Setup
17 Jun 2022 | original ↗

If you read my blog or tweets, you will have detected that I recently wrote a book called macOS by Tutorials, published by raywenderlich.com. in this post, I’m going to show you what hardware and software I used to write it. Hardware # I use an 24 inch M1 iMac - yellow. I’ve always loved the form factor of the iMacs. They offer a superb...

WWDC 2022 Wishlist
25 Apr 2022 | original ↗

Apple has announced that their 2022 World Wide Developers Conference will again be an online event from June 7 to 11. The poster shows a very dark Swift logo in a coloured circle. While I have long since given up trying the read the tea leaves of Apple’s graphics to work out what they will announce, I always enjoy speculating. But this year, I...

macOS Book
9 Apr 2022 | original ↗

I can finally reveal the reason I have not been blogging. I have been busy writing a book. It’s finally out, so here it is: macOS by Tutorials, published by kodeco.com (formerly raywenderlich.com). img { margin: 10px auto; border: 0.5rem #dfe7f0 solid; border-radius: 0.5rem; } .dark-theme img { margin: 10px auto; ...

Site Search
24 Oct 2021 | original ↗

Not much action on the site lately as I work on other projects. But I have finally got around to adding a search option to the site. I use Hugo as a static site generator, which is great but Hugo doesn’t come with any search facility. Today, I read an article by Jesse Squires on Replacing Google Search with DuckDuckGo and while I had already...

The Apple DTK Gamble
4 Feb 2021 | original ↗

So I gambled… I hoped Apple would do the right thing by developers who paid for access to the Developer Transition Kit (DTK) to get the first Apple Silicon Macs, but I was wrong and I lost. UPDATE - 6 Feb 2020: Apple has responded to feedback from me and other disgruntled developers and so I didn’t lose as much as I thought. Apple is now giving...

SwifUI Mac Menus
24 Jan 2021 | original ↗

With the option to create apps using the SwiftUI App life cycle, we get a new way to set up menus in Mac apps. This post will explore some of the ways to do this as well as look at the default menu groups that Apple gives us. When you create a new Mac app, the standard menu items are included for you. Using the commands modifier on the...

SwiftUI Data Flow
24 Jan 2021 | original ↗

SwiftUI gives us a completely new way to lay out out user interfaces, in a declarative and responsive way. Your data dictates what is displayed. But this leads to a new problem - how should the data models be constructed and how can they be passed around between the various views that make up your app? In this post, I intend to discuss the...

Crossfix
22 Nov 2020 | original ↗

I have just released Crossfix and Crossfix Lite for iPhone. They are both the same anagram assistant solver for crosswords, particularly cryptic crosswords. The Lite version is free but limits you to three solves per day. The full version is unlimited with no ads, no recurring subscriptions and works with family sharing. img { margin: 10px...

Crossfix
22 Nov 2020 | original ↗

Now available on the App Store for iPhones. Also works on Apple Silicon Macs. # Crossfix # Crossfix Lite # Programmers are basically puzzlers, and programming is the world’s best type of puzzle, but I like to start my day with a cryptic crossword. Like programming, cryptic crossword clues have their own syntax and what seems like...

Stats for WoW
14 Oct 2020 | original ↗

Do you play World of Warcraft? # Have you ever agonised over a new piece of gear - are those stats better or worse for my class and specialization? Is your computer festooned with sticky notes reminding you that your prot pally needs haste over mastery but the enhancement shaman needs agility? Get rid of the notes and use the Stats for WoW app...

SwiftUI for Mac on Big Sur
8 Jul 2020 | original ↗

In December 2019, I wrote a series of articles about using SwiftUI to build a Mac app. At WWDC 2020, Apple announced macOS 11 Big Sur along with Xcode 12 and a heap of new features for SwiftUI, so I decided to try creating my test app again and seeing how much had changed. You can read the earlier articles and if you are interested, download the...

SwiftUI Snapshot Testing
17 May 2020 | original ↗

Snapshot testing is a technique that has been very popular in the web development world and it seems like a great way to test SwiftUI user interfaces. I read about snapshot tests in a recent blog post and was intrigued, but I had some difficulty getting it to work, so when I finally succeeded, I decided to share my experiences in the hope that...

Name This App
9 May 2020 | original ↗

My current work in progress is an iPhone app designed to make it easier to solve crossword anagrams by emulating and improving upon an ability that was there when we used to do crosswords on paper, but is missing for digital crosswords. But I cannot think of a clever name for the app, so please read the story and contact me with your name...

SwiftUI Color
9 May 2020 | original ↗

As developers, we are used to thinking of color as a numeric way to specify a particular tint. But in SwiftUI, Color - like almost everything else - is actually a View in its own right. This leads us to two very interesting questions: how do we use a view to specify a color and how can we use the fact that Color is View? Specifying a Color #...

Custom Fonts in iOS & macOS apps
1 Apr 2020 | original ↗

As a rule, I prefer to use fonts that come pre-installed with the system. That means that your interface is already familiar to users, you get dynamic font sizing and if Apple updates the fonts, you get the updates without doing anything. But sometimes, you really need to use a different font in your apps, and as the process of getting a custom...

SwiftUI for Mac Extras
27 Jan 2020 | original ↗

Last year, I wrote a 3 part series of articles on using SwiftUI to build a Mac app. I would like to thank everyone who contacted me about this series. It was received very well and revealed that there is still a large amount of interest in programming for the Mac. Some of the responses I got were pointing out different or better ways to do...

SwiftUI for Mac - Part 3
15 Dec 2019 | original ↗

In part 1 of this series, I created a Mac app using SwiftUI. The app uses a Master-Detail design to list entries in an outline on the left and show details about the selected entry in the detail view on the right. In part 2 I explored using menus, adding all the expected user interface elements and opening secondary windows. In this third and...

SwiftUI for Mac - Part 2
15 Dec 2019 | original ↗

In part 1 of this series, I created a Mac app using SwiftUI. The app uses a Master-Detail design to list entries in an outline on the left and show details about the selected entry in the detail view on the right. Now it is time to explore some more of the features of a Mac app with SwiftUI. Menus # I had already discovered that the menu bar...

SwiftUI for Mac - Part 1
15 Dec 2019 | original ↗

So far, nearly all the articles I have seen about SwiftUI show it being used for iOS, more particularly for iPhone. But SwiftUI works on all Apple’s platforms, and as I am primarily a Mac developer, I decided to try out a Mac app and see what happened. img { margin: 10px auto; } Setup # I opened up Xcode and created a new project...

SwiftUI First Thoughts
18 Aug 2019 | original ↗

img { margin: 10px auto; } At WWDC 2019, Apple surprised us all by announcing a completely new declarative UI framework called SwiftUI. Quoting snippets from the Apple announcements, “SwiftUI is an innovative, exceptionally simple way to build user interfaces across all Apple platforms with the power of Swift” and “SwiftUI uses a...

Marktime
4 Feb 2019 | original ↗

Mark Time is now available now from the iTunes App Store for iPhone and iPad as an assistant for celestial navigators. Mark Time is an application for Celestial Navigation that solves the problem of how to take an accurate time reading to go with each sextant sighting. By simply tapping the screen you can record the exact time UTC as you take...

Learning Swift - Tuples
3 Feb 2019 | original ↗

img { margin: 10px auto; border: 0.5rem #dfe7f0 solid; border-radius: 0.5rem; } .dark-theme img { margin: 10px auto; border: 0.5rem #4a4d50 solid; border-radius: 0.5rem; } .social_footer img { border: none; box-shadow: none; } I sometimes like to focus on aspects of the Swift language that get...

Thanks
16 Jan 2019 | original ↗
The End of Pic-a-POD
5 Oct 2018 | original ↗

I think I wrote the first version of Pic-a-POD in 2003 and have been updating and maintaining it ever since, but the time has come to shut it down. I haven’t been able to find a picture of the original version, but here is one from 2005: And here it is today: It was written originally as a convenient way to download the daily picture-of-the-day...

Moving to the Dark Side - Part 2
5 Oct 2018 | original ↗

img { margin: 10px auto; border: 0.5rem #dfe7f0 solid; border-radius: 0.5rem; } .dark-theme img { margin: 10px auto; border: 0.5rem #4a4d50 solid; border-radius: 0.5rem; } .social_footer img { border: none; box-shadow: none; } Now that most of my Mac apps have been updated to support macOS...

Moving to the Dark Side
26 Sept 2018 | original ↗

img { margin: 10px auto; border: 0.5rem #dfe7f0 solid; border-radius: 0.5rem; } .dark-theme img { margin: 10px auto; border: 0.5rem #4a4d50 solid; border-radius: 0.5rem; } .social_footer img { border: none; box-shadow: none; } With the release of macOS Mojave on 24th September 2018, I have...

Swift Strings Helper
21 Jun 2018 | original ↗

Hands up everyone who can remember how to work with Swift strings, especially when it comes to substrings and ranges? …. Nobody? Me neither. So I decided that I would work it out once and create myself a library to make it easy for myself in the future. And then I thought that other people might like it too. So I have created my first open...

Functional Programming in Swift
14 Jun 2018 | original ↗

What is Functional Programming and how can we use it in Swift? Search online for any definition of functional programming and you will find many different definitions, few of which are practically helpful. I have no claim to be an expert, but as a Swift enthusiast, this is what I have distilled out of the morass. What is Functional...

World Time in Words iOS Update
14 Jun 2018 | original ↗

Its been a long time since the last update to Time In Words for iOS but after prompting by Apple (update or we will remove it from the App Store), I finally did it. I was never really happy with the last design of Time in Words for iOS, particularly for the iPad, so this was a good opportunity to do a complete re-design, bringing the app more...

Privacy Policy
25 May 2018 | original ↗

TL;DR: I don’t track you either on my web site or through my apps. If you want to contact me, please do so but I will not initiate any contacts. As anyone who gets email would realise by now, the EU has introduced a General Data Protection Regulation designed to enhance online privacy. You will have been getting lots of emails announcing new...

App Updates
25 May 2018 | original ↗

Just a quick post to let you know about some recent app updates… Man Reader # Man Reader v 1.10 was released on 11 May 2018. I had to update Man Reader in November 2017 because of a really strange “feature” that arrived with macOS High Sierra. Man Reader displays the man pages as HTML which allows the tabs and internal links to work using...

Man Reader
11 May 2018 | original ↗

Man Reader is a utility app for reading macOS’s man pages. Man Reader allows quick, convenient and easy access to the man pages on your system, useful for programmers, system administrators and tweakers. Buy Man Reader from the Mac App Store Man pages are available for the Unix commands used mostly in Terminal or when shell scripting. These man...

Berio's Sequenza VII
23 Apr 2018 | original ↗

Luciano Berio wrote a series of Sequenzas for various instruments with Sequenza VII being the one for oboe. Preparing this work creates some unique problems for the oboist as Berio did not adhere to any time signature that could be indicated by a metronome. Instead, each line consists of 13 bars (measures) with each bar’s length specified in...

Consistent Swift Style
30 Mar 2018 | original ↗

Why is important to style your code? How do you decide on a style? Is there a way to enforce this style automatically? What is style in Swift? # Style applies to writing in any programming language and refers to the way you structure your code. For example, how to you arrange braces? if theValue 10 { // do one thing } else { // do...

Icon Builder 5
18 Feb 2018 | original ↗

Icon Builder 5.0 is now available from the Mac App Store. This is a complete re-write for better compatibility with Apple’s latest icon requirements. Read on to see what I have fixed and how… Problems # When I came to create a new iOS app recently, I found out that Icon Builder had fallen behind Apple’s requirements in three ways: The 1024 x...

NCSS 2018
5 Jan 2018 | original ↗

I gave a Masterclass on Swift at the NCSS Summer School 2018 in the University of Sydney on 9th January 2018. This post contains useful links for use in relation to the material covered during my class. Online Sandboxes # We ❤️ Swift Sandbox IBM Swift Sandbox Resources # Gist of Code Samples Slides from Presentation Contact Details #...

Apps
22 Dec 2017 | original ↗

Man ReaderVersion 2.0, Updated: 13 Oct 2023 To-DayVersion 1.9.4, Updated: 22 Jan 2024

Mark Time
11 Dec 2017 | original ↗

Mark Time is an application for Celestial Navigation that solves the problem of how to take an accurate time reading to go with each sextant sighting. Here is how it was developed… A day in the life of a software developer - “it would be great if there was an app that did…” One of the family is learning celestial navigation and was struggling...

Moving to Hugo
29 Nov 2017 | original ↗

Yesterday, I came to update my blog: I had a new post in draft form and I wanted to update the Swift code to version 4. However installing High Sierra had removed Jekyll which is the site generator that I had been using. I re-installed Jekyll but found that it had been updated from version 2 to version 3. Jekyll Problems # Then my problems...

Contact
26 Nov 2017 | original ↗
JSON Parsing in Swift 4
18 Jun 2017 | original ↗

Updated: 3rd September 2017. Checked syntax using Xcode 9.0 beta 6. Added section on allowing for nulls. Since JSON has become the de facto standard for data transfers around the internet, there has always been a lot of interest in Swift libraries to parse JSON into Swift classes or structs. Searching for “swift json library” on GitHub discovers...

Posting from my new iPad
17 Jun 2017 | original ↗

Last week I got a 10.5” iPad Pro. I have had an iPad ever since the original release, but I have to confess to mainly using it for content consumption rather than creation. Since I am usually close to a Mac anyway, there didn’t seem a lot of point. But now that iOS 11 is really addressing the issue of making the iPad a “pro” device, I decided to...

JSON Feed for TrozWare
20 May 2017 | original ↗

jsonfeed.org has announced a new format for web site feeds, designed as an alternative to RSS. TrozWare has had an XML RSS feed for years, but I don’t think anyone ever uses it (I certainly don’t), so today I have replaced it with a JSON feed, which you can access through the button at the top of every page. I am sure many JSON Feed viewers will...

Blackmail Marketing
8 Mar 2017 | original ↗

I use my iPad to play games as a form of relaxation. Nearly all the games I play are puzzle apps with levels that can be played in a few minutes. Nearly all of them are free to install. So how do they make money? Now I would be the last person you should consult about marketing but it has always seemed to me that the best way to market your...

NCSS 2017
6 Jan 2017 | original ↗

I gave a Masterclass on Swift at the NCSS Summer School 2017 in Sydney on 8th January 2017. This post contains useful links for use during and after my class. IBM Swift Sandbox Sandbox Code Samples # Strings Optionals Functions Closures Objects Protocols Generics Contact Details: # Email: sarah@troz.net Twitter: @trozware Slides: NCSS...

Looking for beta testers
17 Nov 2016 | original ↗

I am looking for beta testers for my latest Mac app: Work. Work is a project organizer app for developers, designers, students or any professional who works with multiple projects involving files & folders, web pages, email addresses and lists of tasks. Click the link above for more information and help for getting started. Work requires macOS...

Another Man Reader Update...
5 Nov 2016 | original ↗

A quick update to Man Reader to version 1.8 is now available through the Mac App Store. The main reason for this version was that Man Reader was not previously detecting man pages installed by third-party IDEs in the Applications folder. There was also an issue with Man Reader failing to display the text of the previously selected man page on app...

Man Reader Update
12 Oct 2016 | original ↗

Man Reader has just been updated to version 1.7 and is available through the Mac App Store. The main reason for this update was to make the app work well with macOS Sierra, as I found that version 1.6 was sometimes crashing on launch. While doing this, the update was rejected by the App Store reviewers because it crashed on OS X 10.10. Since I no...

Podcasting
11 Oct 2016 | original ↗

I have recently started what I hope will be a weekly podcast with my friend and colleague, Jerry Daniels. Each podcast will be about 30 minutes in length. We will discuss Macs, iPhones, iPads, macOS, iOS, programming and anything tech-related that we find interesting. I hope you will find it entertaining and informative, so please join us. We are...

How much work does Icon Builder save you?
17 Sept 2016 | original ↗

Icon Builder is a Mac app that takes a single image file and creates all the different image sizes that you need to make a set of icons for your app: Mac, iPhone, iPad, iOS Universal or Apple Watch. Version 4, released 16 September 2016 is available through the Mac App Store. What’s New in Version 4: # Added support for iMessage apps and...

Dice Pass Updated
17 Sept 2016 | original ↗

Dice Pass 1.1 is now available from the Mac App Store. What does Dice Pass do? # Dice Pass is a utility to app to generate random passphrases based on the Diceware system. Diceware uses a table of pre-defined words, each assigned a 5 digit code number containing the digits 1 to 6. The official way to generate a phrase is to roll 5 dice for...

Retiring old apps
15 Sept 2016 | original ↗

With the release of iOS 10 and the need to update iOS apps to suit, I have decided it is time to retire some of my lesser-performing apps as it is not worth the effort required to maintain them. At the moment, the following iOS apps are no longer available: A Knight’s Move Dice Pass Pic-a-POD Quick Score - Tennis For the first three listed there,...

Man Reader updated to 1.6
16 Jul 2016 | original ↗

Man Reader has been updated to version 1.6 with the permissions needed for finding all available man pages and a fix for search terms being over-written after a background update. Man Reader 1.6 is now available through the Mac App Store. Change Log: # Permissions fix when searching for available man pages. Fixed error with new search term...

Dice Pass Mac Update
3 Jul 2016 | original ↗

I recently got an email from someone who had purchased Dice Pass for Mac from the Mac App Store but had been unable to get it to run. This person was using OS X 10.9.3. I checked the App Store specifications and it showed that 10.9 was the minimum system requirement, so it should have worked. But going back to my Xcode project, I found that it...

Learning Swift - Sets
28 May 2016 | original ↗

Sets are the forgotten collection type in many languages, including Swift. I think most developers use Arrays without really considering the advantages of using a Set but they have some amazingly useful features that should make them a part of any progammer’s toolkit. If you want to follow along with a playground, you can download it here. What...

19th Hole Golf Scorer 3.1
7 May 2016 | original ↗

One of the problems with using 19th Hole on the Apple Watch is making the app show every time you raise your wrist. My solution to this was to go into Settings (either on my iPhone through the Watch app, or directly on the watch) and change it to “Resume Last Activity” on wrist raise. This worked fine but as I usually prefer the watch face to...

My Year With Apple Watch
28 Apr 2016 | original ↗

As the Apple Watch hits its first birthday, there seems to be in increasing number of bloggers complaining about it. One (which I refuse to link to) titled “My Year of Hell With the Apple Watch”. I think the article has since been re-published with a slightly less inflammatory title, but really! Did somebody rivet the watch to his wrist? If it...

How To Confuse TestFlight
24 Apr 2016 | original ↗

I ran into an unusual problem when testing my latest app: “What Is My Speed?”. It is now available from the iTunes App Store, but getting there was a struggle. TL;DR Xcode is terrible at renaming projects, so it is a really good idea to have worked out your app’s name before starting. I would even recommend creating an app ID in your Apple...

What Is My Speed?
17 Apr 2016 | original ↗

“What Is My Speed?” is available now from the iTunes App Store for iPhone and Apple Watch. If you read my recent blog post on Road Trip Apps you will have realised that I was working on an app to fill a gap that I discovered in our road trip app arsenal. So here it is: “What Is My Speed?” for iPhone. Track your speed on your iPhone while driving,...

Road Trip Apps
7 Apr 2016 | original ↗

Over the past few months, we have done two long road trips: one approximately 4,000 km and the other about 1,800 km. These gave us the chance to try out various apps for navigation and travel information. We live in Queensland, Australia and some of these comments may be country-specific. Navigation # The basic navigation came down to three...

Structs vs Classes
30 Mar 2016 | original ↗

One of the big debates among Swift developers is when to use structs and when to use classes. Classes are the building blocks of object-oriented programming but structs as provided by Swift are newly powerful. Structs have been around in C-based languages for a long time, but Swift has made them more powerful and given them more features so that...

Learning Swift - Optionals
12 Mar 2016 | original ↗

Today I plan to discuss optionals since they were a feature of Swift that I found difficult to grasp at first. What is an optional in Swift? # An optional is a variable of a specified type that can also be nil. Why does this matter? # In Objective-C, any object type could be nil. If you declared a variable like this: NSString *myString;...

Learning Swift - For-Loops
12 Mar 2016 | original ↗

Loops are a fundamental building block of any program. Doing repetitive tasks fast and accurately is what computers are really good at and what we humans get very bored doing. Swift offers several different ways to perform loops, but today we are going to concentrate on for-loops. The most basic form of loop is the for-in loop. There are two ways...

Learning Swift - Generics
29 Feb 2016 | original ↗

One of the nice things about Swift is how clean your code looks. A lot of the weird characters that pepper the code of other languages has been eliminated: No more semi-colons, asterisks etc. But then you are reading somebody else’s code and you find these angle brackets all over the place and they don’t seem to make sense. What does this mean?...

Singleton to Protocol
26 Feb 2016 | original ↗

I was driving through the town of Singleton the other day and of course, it got me thinking about using singletons in my apps. Singletons were a commonly used pattern in Objective-C programming and appear in many of Apple’s own APIs, but seem to be increasingly frowned upon in the Swift world. So what is a singleton? # A singleton is a class...

Three Rules for Writing Better Swift
24 Feb 2016 | original ↗

Do not use !. Use let, not var. Allow the compiler to infer types. Read on for more details… 1. Do not use ! # Swift uses optionals for values that can be nil. To use an optional value, you need to “un-wrap” it first, which means getting the actual value out, assuming that the value exists and the optional is not actually nil. Optionals are...

Configuring Xcode
17 Feb 2016 | original ↗

While not strictly a part of my Learning Swift series, today I thought I would discuss some of the ways to configure and use Xcode to be a more productive and comfortable programmer. 1. Editor color themes and fonts: # Step through the supplied themes and find the best one for you. Then click the ‘+’ button at the bottom of the list and...

How do I start to learn Swift?
16 Feb 2016 | original ↗

The first thing to do is to download the latest version of Apple’s Swift Programming Language book from the iBooks Store. You can just read this book, especially the first section: “A Swift Tour”, but you will get more out of it if you follow along with the playground. There is a link to download the playground from the book which you can use...

Why is Swift so great?
10 Feb 2016 | original ↗

Firstly, I can give you the technical answer, as published by Apple: Swift is a new programming language for iOS, OS X, watchOS, and tvOS apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more...

Icon Builder 3.2 Released
10 Feb 2016 | original ↗

Icon Builder 3.2 is now available from the Mac App Store. Icons for Apple Watch apps now have their alpha channel removed. Tidier folder structure for related files (iTunes Artwork files and Read Me). Updated to work with Xcode 7’s Assets.xcassets folders. Creates iPad Pro icons for Xcode 7.2 or later. Fix for Retina Macs creating double-sized...

New Twitter account
9 Feb 2016 | original ↗

I have started a new Twitter account so that I can provide rapid support to users of my apps. Please contact me @trozware if you have any questions, suggestions, bug reports or would just like to chat. I will also be using this account to promote my new Learning Swift series.

Learning Swift - An Introduction
9 Feb 2016 | original ↗

Welcome to Learning Swift. # This is the first post in what I hope will be an extensive series dealing with the Swift language. Here are some of the questions I hope to answer: Should I learn Swift? Why? Why is Swift so great? How should I start learning Swift? I already know Objective-C - how do I convert? After that, I am planning a series of...

Possible issues with Icon Builder & Watch icons
6 Feb 2016 | original ↗

It has come to my attention that there are two possible issues with Icon Builder 3.0.1 when using icons created for an Apple Watch app. Once of them is something I can fix and the other appears to be a bug in Xcode 7.2 Update: Version 3.2 of Icon Builder is now available in the Mac App Store. This removes the alpha channel from icons for a watch...

Man Reader 1.5
31 Jan 2016 | original ↗

Man Reader has been updated to version 1.5 with a major improvement in the way it looks for available man pages. Man Reader 1.5 is now available through the Mac App Store. Change Log: # Much improved searching for available man pages. Sand-boxed version now works just as well as the non-sand-boxed. The main feature of this version is that it...

Using 19th Hole on the Apple Watch
12 Dec 2015 | original ↗

19th Hole for iPhone and Apple Watch version 3 is now available through the iTunes App Store. This version is a complete re-write to accommodate the changes in iOS 9 and watchOS2. The major changes are to do with the way the iPhone and the Watch communicate. In watchOS1, all the brains of the app had to live in the iPhone, meaning that every...

Dice Pass for Mac
30 May 2015 | original ↗

We live in a world of passwords and passphrases and there is a constant struggle between having a secure and a memorable password. As a result, many of us re-use passwords even though we know this is a bad idea. XKCD had a wonderful comic that illustrated the theory of using a passphrase composed of words that are easy to remember but with a...

Apple Watch First Impressions
29 Apr 2015 | original ↗

I realise that every one has written one of these posts, but given that everyone looks for and notices different things, I think it is still valid. My first impression was “Why does it come in such a large box?”. The courier delivered two boxes - my 38mm Apple Watch Sport and Tim’s 42mm Apple Watch Sport. They both came in long boxes, with the...

Time In Words 4.0
15 Apr 2015 | original ↗

Time In Words for iOS started off as a fun gimmick, emulating the Qlocktwo type of time display where the relevant words are highlighted in some way to spell out the time as a sentence. This very quickly evolved into what I hoped would be more useful app, still showing the original display, but also providing the current time & date as complete...

Apple Watch App - Rejected, then Accepted
11 Apr 2015 | original ↗

As described in a previous post, about 9 days ago I submitted my first Apple Watch app for review. The app was an extension of my golf scoring app: The 19th Hole. I expected that App Store review times would go up dramatically once Apple had allowed developers to submit watch apps, but this proved to be incorrect. Three days after submission, the...

My First Apple Watch App
2 Apr 2015 | original ↗

I have just submitted my first Apple Watch app to the iTunes App Store. This is a scary thing to do, since I have never seen, touched or used an Apple Watch and all I had to go on was the Simulator that Apple supplies with Xcode. At the moment, Apple has only made a limited set of Apple Watch features available to developers, and all Apple Watch...

LiveCode stacks
18 Mar 2015 | original ↗

When I converted my site to Jekyll & GitHub, one of the things I left behind was a collection of LiveCode (Revolution) stacks. For many years I was active in the Revolution community before going in other directions and over that time, I built up a small library of stacks that I released into the public domain. LiveCode is a cross-platform rapid...

Icon Builder 3.0.1
17 Mar 2015 | original ↗

So why an announcement for such a minor upgrade? Version 3.0 got no announcement because it was not the release I wanted. Having downloaded the Xcode 6.2 & 6.3 betas, I had worked out what icons were needed to a WatchKit app. This, combined with several other changes, made me bump the version number to 3.0. Sadly, Apple rejected the update...

App Store Preview Videos
16 Mar 2015 | original ↗

Apple now allows app developers to add a video preview of their app when uploading to iTunes Connect. This video is shown to potential purchasers when they are looking at an app in the iTunes App Store, just like the screen shots. I have been working on an update to 19th Hole and since it uses a custom method for data input, I decided that a...

Testing automation
12 Mar 2015 | original ↗

Today I am experimenting with automating post generation. Firstly, there is the structure of the post Markdown document, which really boils down to the file name and the header. I have set up a macro in Typinator so that I just type the title of the post in a text document. I copy that title to the clipboard and type the shortcut. The header is...

Workflow for writing a post
10 Mar 2015 | original ↗

So here is where I need to get used to Jekyll and how things are done. I will end up automating this when I am sure of the process, but for now, I am just going to work my way through it. Start up the local Jekyll server: I opened Terminal and used cd to get to the folder containing my site. Next I started the Jekyll server locally using jekyll...

New Site for TrozWare
8 Mar 2015 | original ↗

Welcome to TrozWare’s new site. # It appears that I am not alone in deciding to move away from WordPress. WordPress is great - easy to set up and with lots of cool themes to allow customisation of your site. But it is slow, especially if (like me) you are running on a low-cost shared server. I had been reading about Jekyll, so I decide to give...

Man Reader 1.4 Now Available
3 Apr 2014 | original ↗

Man Reader 1.4 is now available through the Mac App Store. The new features and fixes are: # Fix for plain text view not wrapping correctly for odd-sized fonts. Fix for HTML text view over-riding font colors that may be invisible. Search for missing entry (e.g. g++) no longer requires Enter or Return. Better automatic selection of matching...

Email clients for Mac and iOS
25 Mar 2014 | original ↗

Some people are moving away from email, but for me, it remains the best way to communicate online. I get to keep a record of conversations and the attached files are with the text so I can always see the context. But I think everyone would agree that Apple have dropped the ball with Mail in OS X Mavericks, and to a lesser extent, in iOS 7. So I...

Berio Sequenza VII
7 Nov 2013 | original ↗

So my latest app is way outside my usual sphere but that’s what happens when family decide that what you do might actually be useful! My son is an oboist and he is currently learning Berio’s Sequenza VII for Oboe. This is a weird piece without a standard time signature. Instead each line has 13 bars with each bar being allocated a certain time...

Icon Builder & iOS 7
23 Sept 2013 | original ↗

Icon Builder 1.2 was released on 18 September 2013. It was an update with 2 new functions: The ability to create images to suit an Xcode 5 assets library The ability to create icons with the required sizes for IOS 7 apps. Knowing that iOS 7 apps can only be built using Xcode 5, I linked the switch for these 2 abilities in a single check box. The...

Icon apps updated
19 Sept 2013 | original ↗

Icns Maker and Icon Builder have both just been updated to support Xcode 5. Icon Builder is a Mac app that takes your images and creates all the required icon files for use in your iOS apps. It now supports Xcode 5’s image assets folders and if you are using Xcode 5, it will create the icon sizes required for iOS 7 app. Icns Maker is a Mac app...

Markdown
1 Apr 2013 | original ↗

For some time now, I have been aware of the increasing trend towards using Markdown for text editing and for creating HTML. Markdown has been on my list of “things I should learn some day” so I was interested last week to read about a new iBooks book called The MacSparky Markdown Field Guide. This was sufficient inspiration so I got the book and...

A Knight's Move 1.3
27 Feb 2013 | original ↗

UPDATE: September 2016 - A Knight’s Move for iOS is no longer available. A Knight’s Move for Mac is still supported. A Knight’s Move has been updated to version 1.3. The Mac version is available through the Mac App Store. Three new level packs: # Eight by Eight Bishops Rule Castles Eight by Eight has every puzzle set in a chessboard sized...

Sand-Boxing Man Reader
6 Feb 2013 | original ↗

These instructions are no longer valid. As of version 1.5, the App Store version of Man Reader has solved the sand-boxing issues and is now as powerful as the non-sand-boxed version. The non-sand-boxed version will no longer be supported or updated, so please revert to the App Store version. As with all apps in the App Store, Man Reader is...

Man Reader (no SB)
6 Feb 2013 | original ↗

These instructions are no longer valid. As of version 1.5, the App Store version of Man Reader has solved the sand-boxing issues and is now as powerful as the non-sand-boxed version. The non-sand-boxed version will no longer be supported or updated, so please revert to the App Store version. If you find that Man Reader is not working well for you...

Icns Maker & Icon Builder updated
19 Jan 2013 | original ↗

January 18th 2013: Both of the icon building apps have now been updated to fix a but that made incorrect icon sizes when running on a Retina MacBook Pro. Icns Maker uses your image to create an icns file for Mac apps. Icon Builder uses your image to create the suite of icon files needed for iOS apps.

Icon Makers & Retina Macs
14 Jan 2013 | original ↗

Icns Maker which makes an icns icon file for Mac apps, and Icon Builder which makes the suite of png files needed for iOS apps, are both compatible with the Retina MacBook Pro. However it was recently brought to my attention (thanks Cameron), that when running on a Retina MBP, all the icon files were exactly twice as large as they should be. The...

Icon makers for Mac & iOS apps
15 Oct 2012 | original ↗

Announcing two new apps for creating icons for with Mac or iOS projects: Icns Maker helps you convert a single image into a .icns file in two steps. Icon Builder creates all the files needed to set up your icons for any iOS project. Creating icon files for Mac apps: # In versions of Xcode before 4.4, Apple provided an app called “Icon...

App Store Review Times
15 Oct 2012 | original ↗

There are been a lots of stories going around about lengthening Mac App Store review times. Shiny Developments crowd-sourced data certainly backs this up although they have much more data for iOS apps than for Mac apps. Some people, including Lex Friedman of MacWorld and John Gruber of Daring Fireball, are suggesting that the delays are due to...

A Knight's Move updates
15 Oct 2012 | original ↗

UPDATE: September 2016 - A Knight’s Move for iOS is no longer available. A Knight’s Move for Mac is still supported. A Knight’s Move for iOS has been updated to take advantage of the taller iPhone 5 screen. In-app purchasing of packs has been removed from both Mac & iOS versions. For iOS, the app is now free but supported by iAds (please click...

Updating apps for iPhone 5
24 Sept 2012 | original ↗

I have started work updating my iOS apps to fill the larger screen of an iPhone My iPhone 5 is on order - I missed out on the first shipment, but hopefully it won’t be too long. Meanwhile, I will just test in the iPhone Simulator and hope this is OK. But it was a puzzle to me how to get an app to fill the longer screen. I have the latest Xcode...

A Knight's Move for iOS 1.1
13 Sept 2012 | original ↗

UPDATE: September 2016 - A Knight’s Move for iOS is no longer available. A Knight’s Move for Mac is still supported. A Knight’s Move for iPad & iPhone has just been updated to version 1.1 There were some minor changes: New puzzle pack: Majestic. iPhone now shows an info button of there is more help available for a particular puzzle. (This info...

Man Reader 1.1 Released
14 Aug 2012 | original ↗

The update of Man Reader to version 1.1 has just become available through the Mac App Store. This update has a bunch of new features - thanks to everyone who made suggestions. As detailed in a previous post, there have been major issues getting this app approved with Apple’s new sand-boxing restrictions fully in place. But to their credit, the...

Sandboxing and the Mac App Store
28 Jul 2012 | original ↗

As of June 2012, all apps submitted to the Mac App Store have to be sandboxed i.e. they have to be able to run in a limited environment where they cannot interfere with other apps or other parts of the system. While this is generally a good thing, there are problems when apps have legitimate reasons for requiring access to other resources. One...

Update to Time In Words screen saver
27 Jul 2012 | original ↗

Time In Words screen saver has just been updated to version 1.1 and is now fully compatible with Mountain Lion. It is free to use and can be downloaded here. The basic screen saver worked before, but searching for an alternative time zone would crash System Preferences. That is now fixed. The screen saver also shows a thumbnail image when in...

A Knight's Move Released
9 Jul 2012 | original ↗

UPDATE: September 2016 - A Knight’s Move for iOS is no longer available. A Knight’s Move for Mac is still supported. “A Knight’s Move” is a fun, addictive and simple puzzle game based on the movements of chess pieces. Your goal is to move your white knight across a board to a target square using the same movements as a knight in chess. Pawns may...

Easy access to the Library folder
16 May 2012 | original ↗

In Mac OS X 10.7 (Lion), Apple decided to make it more difficult to access your Library folder, presumably to stop people doing stuff that made apps crash. But as a developer, I need access to my Library folder a lot. I need to check that preferences are being saved correctly. If I have an app that uses the Application Support folder, then I need...

Pic-a-POD 2.0.4 for Mac
11 May 2012 | original ↗

The latest update for Pic-a-POD for Mac is now available through the Mac App Store. Bug fix: # selecting an iPhoto pic from the Recent Desktops menu now works correctly. New features: # Better indication of downloads and when large pics are not yet available Direct link to App Store in Help menu - please rate or review.

Man Reader update coming soon
11 May 2012 | original ↗

Man Reader launched on the Mac App Store a couple of days ago and yesterday I got an email from a purchaser who reported that Man Reader was not displaying the man pages for MacPorts, even though he had the paths set up correctly. I installed MacPorts to check this out and ran into the same problem. Running the command “man port” in Terminal...

Making a Mac Screen Saver
9 May 2012 | original ↗

Having just completed the my first screen saver for Mac - the Time In Words Screen Saver, I thought I would share some of the experiences. I am using OS X Lion (10.7) and Xcode 4.3.2 The first thing is to create a new project in Xcode using the Screen Saver template: Xcode sets up a project for you with everything you need for a screen saver...

Support for older operating systems
2 May 2012 | original ↗

Working out what operating systems to support in your software is always a difficult decision. I only program for Mac & iOS systems for starters. This is because they are the systems I use and understand. I am not interested in expending the time & money needed to program and test my software for other systems. Within the Mac & iOS ecosystems,...

Time In Words & the new iPad
10 Apr 2012 | original ↗

The new iPad has a Retina display, meaning that the pixel density is much greater. For some apps, this is a problem as their graphics are now scaled and look pixellated. However Time In Words is very simple. It uses standard fonts and interface widgets with no images or external graphics apart from the icon. The icon may not look perfect on a new...

iPhone 4 Home Button
28 Mar 2012 | original ↗

My iPhone 4 is now 18 months old, and it’s Home button is starting to feel the strain. These buttons have been used much more than originally intended, with the new multitasking required double-presses, not to mention access to the camera etc. So basically , it is wearing out. The phone is out of warranty and there is no way I am going to pay for...

Time In Words for Mac now available
20 Mar 2012 | original ↗

Time In Words for Mac has just been approved and is now available for free from the Mac App Store. For more details, check out the Time In Words for Mac web page.

Scroll bars in Mac OX 10.6 and 10.7
25 Feb 2012 | original ↗

With the introduction of OS X 10.7 (Lion), Apple removed the obvious scroll bars from windows and replaced them with a much more subtle scroll indicator, that only appears when you are actually scrolling. This was designed to match the iOS scrolling, as was the swap of scroll direction which makes much more sense if you use a trackpad. With the...

Interface options for selecting time zones
25 Feb 2012 | original ↗

As part of the design for [Time In Words for Mac][1], I had to work out the interface for selecting time zones. With [Time In Word for iOS][2], I used picker wheels which are excellent for selecting hierarchical data. On the Mac, there is no such thing as the iOS picker wheel and so I had to consider what to use instead. When you ask the system...

Time In Words available in the App Store
9 Feb 2012 | original ↗

Time In Words is now available at the App Store. Time In Words is a clock and calendar app that takes you out of the digital era and back to when saying “quarter to seven” or “five past two” was accurate enough. Check out the Time In Words web page for more info and screen shots.

↑ these items are from RSS. Visit the blog itself at https://troz.net/ to find other articles and to appreciate the author's digital home.