As promised, This will be a longer one. A lot going on here, Some of which you already know. We have a lot of book news, and I can finally tell you about the Lynda.com course.
First the tip of the week. With Practical Autolayout now released, I’m going to talk about Apple’s bizarre way of writing constraints. One thing I cover in the book is reading constraints directly in the document outline. For constraints that are relations between two views, there is a folder in the document outline that contains all of them. Suppose you have two buttons labeled Banana and Hot Fudge. They are spaced horizontally apart 10 points and pinned to the top and later margin.
Click open the constraints in the document you see they are written as algebra equations.
One equation in the set there would be: Hot Fudge.leading = Banana.trailing + 10. These equations default to plus, never minus. That equation tells you that there is spacing of 10 points between the Hot fudge leading edge and the trailing edge of Banana. If you see a minus, that means someone manually reversed the constraints. If it is flush with the margin, there would also be a constraint of Banana.leading = leadingMargin, meaning the leading edge of Banana is on the leading margin. It doesn’t not say +0 in those cases, it just leaves it off. An alignment can also be a equivalence. Both buttons when top aligned would have a equation of Banana.top = Hot Fudge.top.
If you know how to read these in the document outline, you can pick out constraints directly there, for modification or deletion. It’s a good skill to add, and speeds up selecting constraints. I go into this more in Practical Autolayout for Xcode 8, and where it is particularly useful.
Speaking of Practical Autolayout, its out and I’m starting to see sales. I’m going to assume that the first nine iBooks sales and eight Kindle sales for the Xcode 8 version I got are from my readers on the email list. Thank you for those sales. Hopefully I’ll be able to increase those sales over the next few weeks. For this list there an elephant still in the room I’m going to talk about right now: updates.
If you read my post late last week announcing the book, I told you the bad news: I made too many changes to the structure of the iBook to be an update of the previous book, and therefore had to issue a completely new edition. I did get a good question about this last week: If you have to buy a new book, which device should you pick? I have two answers for you: The first is the one you find most comfortable reading. The Kindle edition has the dynamic fonts so you can change the font and font size of the text. The iBooks version is static, but has been carefully formatted to fit the page Here’s examples of the same page in both formats. If you are listening to this on the podcast, you can check the show notes for the images.
Whatever device you like is great — in one perspective any book you buy is good for me. On the other hand, I do make more from the sale of an iBook at a 70% royalty than a Kindle version at 35%, so I’m kinda biased towards iBooks, where I can at least correct typos and update to everybody the corrections. You can also download free sample chapters on both platforms if you want to try them out.
You can find more on the iBooks version here and the Kindle version here. If you are listening to the podcast I left the links in the transcript.
There’s another elephant in the room too: updating Swift Swift View controllers. I have no idea what’s going to happen there. I was already planning for a update incrementally, and that might just get me past the filters that look for big structural changes. My current plan is to get the draft I have updated to the book this week, which will be the Xcode 8 and Swift 3.0 changes for chapters 1,2, and chapter 4 section 1. If that loads without problems I’ll update the code for the rest of 4(modal view controllers), then go back and update what images I’ll need to update. I’ll then do the same thing with chapters 5(embedded view controllers) and 6(delegate view controllers) While slow, hopefully that will keep me merely in update mode for most of these chapters, and you will have correct code for Swift 3.
I’ll tackle the big problem, Chapter 3 last. Chapter 3 is the auto layout and size classes chapter. There’s no way to get around deleting a section there, so it may not work. But if all goes according to plan, all of you with Xcode 7 copies of the book will have one last major update before I have to mothball it next year for a new edition.
That’s it for books right now. You If you have questions you can e-mail me at email@example.com or just reply to this newsletter. Not to the other big announcement of last week.
Lynda.com released on Thursday my first video course Learning Apple watchOS3 App Development. If you know a little bit of Swift, I’ll guide you through how to make apps for the the Apple Watch. It’s a market that hasn’t reached its full potential yet, and with a lot of the new additions to watchOS 3, watch development looks very promising. I’ll go through most of the objects you can add to a watch face, how to use navigation on the watch, and how to use some important functions to the watch like complications for fast access to apps, and notifications.
In the newsletter and show transcript, you’ll find a sample video if you’d like to learn more.
I’m very excited about this video course. Lynda.com is a subscription service, so you’ll need a subscription to watch the whole video. If you have a LinkedIn profile and a premium account, check the features for that account. Some levels have access to Lynda.com courses. I’m setting up some other ways to subscribe, and hopefully those will be in place shortly.
This course is only the beginning. There are more in the planning stages, and again I won’t say more than some are iPhone and some watchOS. Once they are out, I’ll give you more information about them.
The post this week, is a preview of the Practical Autolayout book. I’ve posted the updated Chapter 2. You can get that chapter as part of the free samples on the iTunes and Kindle as well.
Have a great week, I’ll be talking to you