By Developers, For Developers
PDF Pg | Paper Pg | Type | Description | Fixed on | Comments |
---|---|---|---|---|---|
18 | TYPO | “The list of settings is long, so you may want to type Base the filter field at the upper right to find it.” I believe that you are missing the word “in” after “Base”. | 2018-05-28 | ||
23 | DEFER | I’ve put suggestion details and images here: gist.github.com-timshadel-f14c2daf38c3b284c526cc32312c174e If I’m missing too much context, email me timshadel at gmail dot com. | 2018-08-14 | Thanks for the feedback. Specifically on the first point, .xcconfig files were on the nice-to-have list for this book, but at this hour, I'm afraid they'll have to slip to the next edition. | |
1 | OK | This is kind of a ludacris suggestion… I love this book, but I think the title may be too specific/have the wrong angle and you may miss out on audience because of it. I glossed over this book several times until I dug into the sample chapters and realized that it was exactly what I have been looking for and needing desperately. I am a software engineer with many years of experience, mostly in web development but I have a huge interest in native mobile development. I’ve been learning swift and feel like I have a good grasp on it, but when it comes to building an iOS (or whatever apple os) app, I find myself a little lost on how to implement sound engineering principles. For example, the principle of separating concerns has plagued me for a while until I came across your book. I was actually starting to build my UIViews as if they were view controllers, performing the actual work of managing the views because I didn’t know of any other way to split up view controllers so that they weren’t handling more than one concern. The chapter on Storyboard behavior clarified that for me, so now I’m excited (and grumbling lol) to have to go back and refactor my code in a way that separates concerns more cleanly. My goal has never been to learn to use Xcode better. Xcode is an end to a means. Yes, this book does deal directly with Xcode and the tools, but the only reason I re-visited the title is because I was desparate for information and didn’t know where to find it so i expanded my search. I may be an outlier, but I feel like there are plenty of amateur/novice level iOS (or whatever apple os) developers who are looking for guidance on how to do build apps in scalable, sustainable ways and this book definitely covers it, but from the perspective of wanting to make better use of Xcode. I urge you to re-consider your angle to broaden your reach, so that hungry developers don’t have to broaden their search like I did. Best wishes! | 2018-05-28 | What you're proposing is valuable -- a book for intermediate developers that goes beyond API basics into building long-term sustainable apps. There's a lot of interesting topics you could cover: managing complexity, working in teams, continuous integration, etc. But as I think you've acknowledged, that's not what the book at hand is. This has always been meant to be a guide to Xcode as a tool, and neat stuff that it can do for you. \n \nMaybe let @pragprog know that there's an audience like you for a book on scalable/sustainable iOS apps, and ask them to put out something like that? | |
97 | SUGGEST | In this section of the book, there is a piece of code that deals with a common memory leak: foo.methodThatTakesAClosure() { [weak self] parameter1, parameter2, … in It goes on to turn the guard into a snippet, which is great, but I think you should consider a slight variation on the solution: foo.methodThatTakesAClosure() { [weak self] parameter1, parameter2, … in With the backticks surrounding self, it gets unwrapped and can be referred to as self. Perhaps it isn’t as clear as creating the new variable named strongSelf, but it removes the possibility of referring to self accidentally without unwrapping it. It also makes it easier to just add the weak reference to an existing closure without having to change any of the existing references to self. I haven’t gotten through the rest of the parts of the book that refer to this memory leak, but I’m assuming there are other references to it with a similar solution that could be considered for this approach. | 2018-05-28 | Interesting. A lot of people are used to strongSelf from having used this technique for a few years now (see http://kelan.io/2015/the-weak-strong-dance-in-swift/ ), but the idea of making it impossible to accidentally access the still-weak self is highly appealing. I'm adding a graf about this variant to the sidebar in the performance chapter where we really get into the weak-strong dance. | |
32 | TYPO | “(either a UIViewController, or one of its subclasses, like UINavigationController, UITabController, etc.)” Should it be UITabBarController? Have a nice day | 2018-05-28 | ||
18 | TYPO | Server Url is wrong: should be beta.xxx instead of test.xxx | 2018-05-28 | ||
50 | SUGGEST | On page 50 (ePub in landscape) (Chapter 2 / Configurations / Paragraph 6) the author uses the phrase “beg the question.” This is a common misuse of a phrase which means “assumes something that is not true or agreed upon.” For example: taking a grater to the Moon begs the question that the Moon is made of cheese.” “Raise the question” is the phrase which serves the author’s intent. | 2018-05-28 | ||
88 | ERROR | In the section “Creating App Extensions and Frameworks,” the text indicates that I should “press the plus (+) button at the bottom of the projects/targets list” in the File Navigator. In Xcode 9.4, I get the File… dialog, headed with “Choose a template for your new file:” | 2018-07-22 | It sounds like you're pressing the plus button at the bottom of the File navigator, which is the wrong plus button. The plus button you want is in the content area, once you've selected the project in the File navigator. (Or you're not even showing the projects/targets list, in which case there's a popup of projects and targets, whose last item is "Add target…"). I'll rewrite that sentence to make it a little more clear. | |
23 | TYPO | It says “That means that the “Plus” phones will only the the triple-size image" | 2018-06-21 | ||
113 | TYPO | Missing word: | 2018-06-21 | ||
145 | ERROR | My View Debugging Submenu has “Show View Frames” and “Show Alignment Rectangles”, but not “Show View Alignment”. This is in XCode 9.4.1 | 2018-07-22 | ||
199 | ERROR | Text says “Xcode doesn’t have a way to clone a project by its URL,”, but I definitely can paste a URL into the Xcode clone search box at the top. I pasted your audio reverser repo url in there and it worked. | 2018-07-22 | Oh man, I totally blew it there. The search field's tip text even says "search GitHub or enter repository URL". Fixed for next edition. | |
208 | SUGGEST | I found this method of getting a .gitignore seems pretty smart - https : // www.raywenderlich.com/153084/use-git-source-control-xcode-9 under the “Ignoring generated files” section. | 2018-07-24 | Yeah, but there's not a great way for this book to incorporate such a specific technique (from a competing publisher, no less) when we don't want to spend too much time on .gitignore. Really the message we want to send is "xcuserdata has some spew that you probably don't want to commit, here's the simplest way to do it". It's likely that git veterans will have their own sophisticated techniques for setting up good gitignores, and the curious can of course look to places like RW or Stack Overflow for more ideas. | |
63 | OK | (I’m not a native English speaker so please excuse me if this is not correct) | 2018-07-22 | "separate" as an adjective is OK in this sentence. See definition 2.3 here: https://www.merriam-webster.com/dictionary/separate \n \n"Separate" as an adjective means "existing independently from each other", while "separated" is the past tense of "separate", and implies that someone or something has disconnected or displaced these two objects, which is not the case. \n \nThanks for checking in. | |
1 | DEFER | Wondering if you’ve thought of this. We develop watchOS apps which have an iOS app as the container code base. When we are testing the interaction between our watch app and our iPhone app we have occasion to debug both ends debug the watchOS side and the debug iOS side. A really helpful section would be to describe how to setup xcode debugger so we can run debugger on watch and on phone (two sessions) at the same time. Apple engineers say this can be done. It’s not at all easy to set up as far as i can tell. What do you think? Still working my way through your book with a smile on my face, enjoying myself as i read. Thank you for writing this! Stephen | 2018-08-14 | Interesting topic idea, but I'm afraid it will have to slip to the next edition, as it's too big an add at this late date. | |
36 | 21 | ERROR | I get the warning below when I build the UpcomingConferences app warning: linking against a dylib which is not safe for use in application extensions: The framework contain APIs which are unavailable to extensions. Any use of API not available to Extension will result in rejection during Apple’s app review. If you intend to release this app via App Store, it’s best to keep the warning turned on and remove use of any APIs that are not allowed for Extensions. | ||
48 | 33 | SUGGEST | The subject pronoun it and the verb need are not in agreement. Consider changing the verb. This will make the label exactly as tall as it need to be, provided you also change the “Line Break” setting to “Word Wrap” or “Character Wrap”. Your auto layout code (see next section) will also need to tolerate the variable height of the label. | 2018-10-03 | |
XV | TYPO | “…book in future editions, pease share them…” -> Sharing vegetables? | 2018-10-03 | ||
44 | TYPO | BASE_URL should be beta.example.com | |||
49 | TYPO | BASE_URL is test.example.com for beta scheme. Should be beta.example.com |