All posts by Jay Versluis

About Jay Versluis

Jay is the founder of Pinkstone Pictures and WP Hosting. He has been developing iOS Apps since 2011, several of which have made it to the App Store. In his spare time he likes to develop WordPress plugins and drawing on tablet devices. He blogs about his coding journey here and at http://wpguru.co.uk.

What’s New in iOS 12

Straight from the Update Dialogue that we can’t view anymore as soon as we hit “update”:

iOS 12 brings performance improvements and exciting new features to iPhone and iPad. Photos introduces new features to help you rediscover and share the photos in your library, Memoji—a new, more customizable Animoji—make Messages more expressive and fun, Screen Time helps you and your family understand and make the most of the time spent on devices, Siri Shortcuts deliver a faster way to get things done with the ability for any app to work with Siri, augmented reality becomes even more engaging with the ability for developers to create shared AR experiences, and new privacy features help protect you from being tracked on the web.

This update introduces new features and improvements to [the following areas]:

Continue reading

How to assign a variable inside a block in Objective-C

I recently tried to assign a value to a variable I had declared from inside a block. Apple’s frameworks make frequent use of blocks, and as such, I didn’t see anything wrong with this code:

Xcode 9 begged to differ though, telling me that the “Variable is not assignable (missing __block type specifier)“.

Stumped, I had a look around the web, where I found this StackOverflow article that explained it. My mistake was that when I declared the variable above the block. I had no idea this was necessary, but apparently it is.

All we need to do is add “__block” in front of the variable at the time we declare it (more or less precisely what Xcode was trying to say). The error message disappears when we amend the code like this:

Easy – if you know how 🙂

Why is Xcode getting worse with each passing year?

I’ve been using Xcode since 2011, when Xcode 4 had just been released. Those were turbulent times, with Xcode 3 and Interface Builder having previously been two different applications, and Xcode 4.0 was the first “one app does all” approach to building iOS and macOS apps.

I remember Apple bringing out incremental upgrades every few weeks, with the jump from Xcode 4.1 to 4.2 being quite a leap in regards to features and/or the way you had to do things, coinciding with the release of iOS 5 and iCloud.

I’m telling you, turbulent times.

Xcode 4.3 was the first release to be distributed via the Mac App Store instead of a ZIP file from a hidden section in the Developer Portal. Upgrading wasn’t always easy slash possible, and I had more than one new version that just didn’t want to replace the existing one. Beta versions could still be installed side by side with the “release” version from the App Store, but the latter was from now on the only way to submit apps to the App Store.

Xcode 4 stayed with us for a while and let us program anything and everything up until iOS 6.1 and macOS Lion, until June 2013 when Xcode 5 was introduced. From when on, Apple chose to increment Xcode version numbers with each passing year until now, in late 2018, when we’ll soon be submitting our apps with Xcode 10 (which I haven’t even tried out yet).

I have to be brutally honest with you when I say that Xcode 5 was probably my most favourite release out of all the versions there have been. But I kept upgrading to Xcode 6, 7 and 8, being a little underwhelmed by how much more stuff Apple were trying to cram into their IDE every year. Poor Xcode!

With Xcode 6 came a new logo as well as Swift, which changed major versions what felt like every 12 seconds, and code from last week wouldn’t work anymore when used with a minor version update a week later. What a disaster! We also got Playgrounds and some more monitoring tools to play with, and – although clunky and frustrating to this day – Apple tried their best to make those evil provisioning profiles as automated and easy as possible.

When Xcode started turning into a buggy nightmare

There came the point at which the reviews on the App Store for our favourite IDE have been getting less and less kind. I remember the first bad reviews flying in when people had issues upgrading their version of Xcode. That was the most common complaint during the Xcode 6 and 7 era. Other than that, people seemed more or less happy with their development tools. Continue reading

Two Million Visitors

Dear Friends,

today is a very special day for me and the iOS Dev Diary. Since I’ve launched this site in 2012, over two million visitors have come to check it out and find solutions to puzzles this challenging hobby has presented to all of us.

TWO MILLION VISITORS!

That’s a phenomenal amount of people for me, and I’m thrilled that my site has helped so many interested and like-minded folks on this planet.

Keep in mind, this site is a personal note pad on all things iOS, meant as a thinking aid for myself rather than visitors. I’ve started it so that I don’t forget the solutions to intricate puzzles I found answers to. It was never meant to be anything along the lines of “presentable” or “understandable for others”.

Sometimes the best things happen when you don’t really try. This site is certainly proof of that.

To take a look at all the articles I’ve written here over the years, check out the Table of Contents. It’ll tell you that at the time of writing, there are over 400 articles to explore, featuring a total 135,000 words. That’s the equivalent of THREE WHOLE BOOKS.

I’d like to say a big THANK YOU to everyone who’s been coming over, and for those who continue to drop by, so I’ve prepared a few surprises for ya’ll’s enjoyment:

Continue reading

Which iPhone should you buy (August 2018)?

Since Apple have positively and officially lost the plot when it comes to their iPhone Model Offerings, and with the “new iPhone” just around the corner, I thought I’d take a look at which iPhone model – in August 2018 – is the best one to buy.

I shudder to think what and how many other models our friends in Cupertino will announce in September, and which of the many models of iPhone currently available will be ditched from the lineup.

This article was inspired by a chat I had with a friend of mine the other day, and he asked me which iPhone he should buy. He’s an average user, by no means a fanboy or techie, but he’s been a long-time Apple user. He was genuinely confused by the current state of affairs in regards to the available iPhone models.

I agreed, and we both began to discuss the inevitable “has Apple lost the plot” aspects of iPhone developments. That aside, here’s the overall result of our discussion, strictly based my own opinion as both a hobby-developer and iPhone user.

At the time of writing, which is August 2018, we have the following lineup to choose from:

  • iPhone X (introduced in late 2017)
  • iPhone 8 and iPhone 8 Plus (late 2017)
  • iPhone 7 and iPhone 7 Plus (late 2016)
  • iPhone 6s and iPhone 6s Plus (late 2015)
  • iPhone SE (late 2015)

All these models come in various RAM and colour configurations. This is more variety than Apple has ever had on offer in the iPhone arsenal, which in and by itself suggests that they no longer know what consumers actually want. Otherwise, they’d do what they usually do: offer the latest model, and last year’s model for $100 less.

Not all of these models are going to be on offer forever, and this lineup is probably due to change in September, when traditionally new iPhone models are released.

But until then, let’s see which one is a sensible one to pick from the iPhone smorgasbord.

Continue reading