By Developers, For Developers
PDF Pg | Paper Pg | Type | Description | Fixed on | Comments |
---|---|---|---|---|---|
28 | TYPO | You wrote “iPad Air 2” instead of “iPad mini” in the following sentence: The results pane shows that we got back 138.1 for the “iPhone 6” key and nil for the “iPad Air 2” key, which makes sense because we never gave sizeInMM a value for that key. | 2015-12-06 | ||
31 | TYPO | In section “switch Statements” “This switch will log ”That’s what I want" if model is “iPhone 6s”, or “Have they even released that?” if it’s “iPhone 7”, or “Not my thing” in all other cases." | 2015-12-06 | ||
28 | 20 | ERROR | On the Counting With Numeric Types section, we are faced with changing a variable data type from Integer to Float. The following paragraph states an error description which we should receive: Oh no! We get another error, and this time without an instant fix. Worse yet, the description is unhelpful: ““Expected member name following ’.’”” However, when running the code, we actually receive the following error: “Cannot assign a value of type ‘Double’ to a value of type ‘Int’.” | 2015-12-06 | |
42 | TYPO | “The playground will stop the audio after 30 seconds”. At the bottom of my Xcode window there is not “30 second play thing”. I only see a “play button” with options: - Automatically Run I’m not aware, that I changed the configuration of this. But maybe it’s a setting in Xcode’s Playgrounds, that is configurable? | 2015-12-10 | ||
50 | TYPO | There is a superfluous semicolon. I think | 2015-12-06 | ||
13 | ERROR | XCode’s preferences is at Xcode -> Preferences, not File -> Preferences | 2015-12-06 | ||
51 | ERROR | The error message Xcode gives when you assign 0.5 to `bar` has been improved. Now it’s “Cannot assign value of type ‘Double’ to type ‘Int’”. | 2015-12-06 | ||
52 | ERROR | The error message “‘Int’ is not convertible to ’Double’” has also been changed. Now it’s “Cannot convert value of type ‘Int’ to specified type ‘Double’” | 2015-12-06 | ||
8 | SUGGEST | XCPSetExecutionShouldContinueIndefinitely(true) appears to have been deprecated. Xcode 7.1 recommends XCPlaygroundPage.needsIndefiniteExecution(true) instead. | 2015-12-06 | ||
32 | OK | Paragraph:This evaluates to the single character ““éé.”” Two characters go in, and one (Doubled up accented e & quotes) | 2015-12-10 | Production system problem, not in the book's source files. | |
63 | 55 | OK | In this page we are guided to mangle with the URL scheme. However, changing the URL scheme in the given block with an `if let myURL …` fails and does not go into the error handling block and therefore making it impossible to see the error message caught by the `do catch` block. It’d be good to show the code that allows the reader to see the error. | 2015-12-10 | If you truly mangle the entire URL, yes, you'll get stopped at the "if let". OTOH, if you mangle only the scheme (as suggested by the book: change "http:" to "foo:"), then you will indeed end up in the catch, which is what logs "NSError: Error Domain=NSCocoaErrorDomain Code=256 "The file couldn’t be opened." UserInfo={NSURL=foo://pragprog.com}" |
105 | 98 | TYPO | In the Joe asks section, `Twitter’s SSH` should be `Twitter’s SSL` | 2015-12-06 | |
65 | ERROR | The passage says if we wanted to be able to add other types to the array we should declare it as Array | 2015-12-06 | ||
250 | 248 | OK | On the Applying Filters section, the code that is provided to apply the Pixellated filter raises the following log on the console. CreateWrappedSurface() failed for a dataprovider-backed CGImageRef. and does not apply the filter. I have not been able to resolve this issue. | 2015-12-07 | The "CreateWrappedSurface() failed for a dataprovider-backed CGImageRef" is a harmless error that is apparently printed to the debugger whenever we touch Core Image in the simulator. \n \nUsing the sample code for this chapter, I was able to post two tweets with the Core Image pixellation effect successfully applied: \n \nSuourland photo from default Photos collection: https://twitter.com/pragsiostest/status/673639366401597440 \nJanie's Twitter avatar: https://twitter.com/pragsiostest/status/673639275884322816 |
39 | TYPO | 2nd para says: “We have a couple of optionals.” “optionals” probably intended to be “options”. | 2015-12-06 | ||
156 | ERROR | While walking the jsonArray of tweets, we’re using “profile_image_url” as the key to get the avatarURLString, but that string is for an unsecure HTTP URL; when I ran it, all the avatar images were blank. Changing the key to “profile_image_url_https” fixed the problem. Note that I didn’t have to add the ATS exception settings on PDF page 96; presumably Twitter has fixed whatever their problem was. | 2015-12-06 | ||
24 | ERROR | Bottom of p24, onto p25: “If we wanted to be able to add other types, like any of the numeric types, we would have had to originally declare that models accepts any type of object, which we would write as var models : Array Maybe technical, maybe typo: declaring models of type Array | 2015-12-06 | ||
66 | TYPO | 2nd para, after the screenshot. There is no “LaunchScreen.xib”, the screenshot (and in an actual Xcode 7.1.1 project) the project contains “LaunchScreen.storyboard”. Also 2nd para, there is no “Supporting Files” group in the screenshot, or in my actual project. Perhaps the “Products” group was intended? | 2015-12-06 | ||
199 | ERROR | TweetDetailViewController.prepareForSegue() checks for the segue identifier “showUserDetailSegue” (note that Detail is singular here); however, back on PDF page 196, we set the segue’s identifier to “showUserDetailsSegue” (note that Details is plural here). | 2015-12-06 | ||
23 | OK | This evaluates to the single character ““éé.”” The " and é are duplicated. | 2015-12-10 | Production system problem, not in the book's source files. | |
27 | SUGGEST | In the example at the top of the page, “string sets” are declared as such explicitly using: var iPhoneSet : Set Swift will infer the type of the set . Perhaps you could add a note if you consider explicitly declaring the type is better practice than letting Swift infer it. | 2015-12-06 | ||
95 | SUGGEST | While some discussion of ATS may be useful, Twitter has updated its certs since B2.0. `nscurl —ats-diagnostics | 2015-12-06 | ||
36 | 28 | TYPO | “sizeInMm[”iPhone 6“] sizeInMm[”iPad mini“] Correction: “iPad Air 2” should be “iPad mini” | 2015-12-06 | |
7 | TYPO | Apple Radio should be Apple Music (in green sidebar) | 2015-12-06 | ||
87 | TYPO | The text wasn’t very clear. It reads: The difference a frame’s bounds and frame is that the bounds values are in the view’s own coordinate system, while the frame is in its superview’s coordinate system. Should possibly read: The difference between a frame’s bounds and frame is that the bounds values are in the view’s own coordinate system, while the frame is in its superview’s coordinate system. | 2015-12-06 | ||
42 | ERROR | XCPSetExecutionShouldContinueIndefinitely(true) gives a warning message that XCPSetExecutionShouldContinueIndefinitely() has been deprecated and to set XCPlaygroundPage.needsIndefiniteExecution instead. | 2015-12-06 | ||
155 | TYPO | …we had used the NSJSONSerialization to convert the raw JSON (as an NSData) into an collection. should be …we had used the NSJSONSerialization to convert the raw JSON (as an NSData) into a collection. | 2015-12-06 | ||
165 | TYPO | Wrong queue is mentioned. The text says: “The big change is inside the closure that runs on the main queue.” The check that was added is actually happening on the QOS_CLASS_DEFAULT queue. | 2015-12-06 | ||
172 | TYPO | Text and image don’t match. The text states: “Then do the same thing to create a group called Twitter Utilities,…” however the included image shows the group as “Twitter Classes” | 2015-12-06 | ||
173 | TYPO | Continuing from the pg 172 errata with the use of “Twitter Classes” and “Twitter Utilities”… One paragraph mentions the “Twitter Classes” group. Then in the Creating a sendTwitterRequest Function section, it again says “With the Twitter Utilities groups selected…” The group used should be consistent. | 2015-12-06 | ||
192 | ERROR | The NSLog statement in the guard block when testing tweetDict = jsonObject as? [String : AnyObject] states “handleTwitterData() didn’t get an array”. It should state “”handleTwitterData() didn’t get a dictionary" since we are testing for a dictionary, and not an array here. | 2015-12-06 | ||
192 | ERROR | Similar to errata #79217, we should be using profile_image_url_https to make ATS happier. | 2015-12-06 | ||
198 | ERROR | Same as errata #79277. The NSLog statement in the guard block when testing tweetDict = jsonObject as? [String : AnyObject] states “handleTwitterData() didn’t get an array”. It should state “handleTwitterData() didn’t get a dictionary” since we are testing for a dictionary, and not an array here. | 2015-12-06 | ||
39 | ERROR | var name : String? Double type has been removed. It should be instead: var name : String? | 2015-12-06 | ||
40 | TYPO | “The three properties we’ve added to our class are stored properties, meaning that Swift creates the in-memory storage for the String and the two Ints” They were like Ints on an initial version. However, on latest version, these are Doubles | 2015-12-06 | ||
258 | ERROR | application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) is deprecated in iOS 9.0. Should be using application:openURL:options instead. | 2015-12-10 | ||
267 | ERROR | After we remove the NSExtensionPrincipalClass item from the plist, there is no text that tells you to add the NSExtensionMainStoryboard to the plist, just the picture. | 2015-12-10 | ||
268 | ERROR | The text states that we should include the `TwitterAPIRequest` and `TwitterAPIRequestDelegate` classes from the files we created earlier. Searching the project there are no such classes or files created, only the TwitterAPIRequestUtilities file which contains the `sendTwitterRequest` function. | 2015-12-10 | ||
53 | OK | Wouldn’t it better to define: var optionalString : String? = “iPhone6”, instead of: and suggest reader to remove the assignment to test the two enum values? | 2016-02-07 | Fair enough, but this is just an aside, not something the reader needs to actually run and play around with in their playground. | |
62 | OK | extra space between Xcode and 7 in “Xcode 7” right below “The Xcode Window”. Let us know if you prefer us not to be that picky :) | 2016-02-07 | Production quirk: that's a non-breaking spaced added by the editor or copy-editor. | |
66 | TYPO | “For the view-based app, we get two source code files in the PragmaticTweets group, along with a Main.storyboard, a LaunchScreen.storyboard, and an Images.xcassets.” There is no “Images.xcassets” file in the project. It is also not visible on the screen capture that’s shown on the page. | 2016-02-07 | ||
66 | ERROR | “The files in the Supporting Files group help build and run our app, but we won’t need to edit them directly”. There is no Supporting Files group in the project, and it’s not displayed either in the screenshot attached in same page number | 2016-02-07 | ||
22 | ERROR | The character viewer does not seem to be available along longer. A little Googling showed that it’s Ctrl+Cmd+Space to show the extended characters now in El Capitan. It has a different UI so the screenshot on this page is no longer correct as well. | 2016-02-07 | ||
46 | TYPO | This is kind of a technical error as well. You state that Shift+Cmd+C will display the console area. That’s correct, but it’s not available in the playground. Instead, I have to use Shift+Cmd+Y to Show Debug Area. | 2016-02-07 | ||
49 | SUGGEST | When you show `var description`’s implementation you omit the `get {}`. A little experimentation on my end showed that `get { }` appears to be optional when only creating a getter for computed properties. I’m not sure if there’s a convention (i.e., read-only are supposed to only return) or not, but it caught my attention. This is the second time I’ve come across this so far in the book. | 2016-02-07 | ||
48 | TYPO | “9,252.7” is not what’s rendered for me — it’s 9252.699999999999 | 2016-02-07 | ||
56 | SUGGEST | Throughout the book I’ve noticed both `foo: SomeType` and `bar : SomeType`. Is there a convention for where spaces go around the colon? If there is, it’d be nice to have a sidebar or some such explaining what goes where. I have seen one reading through Part 1. | 2016-02-08 | I asked on Twitter and got votes for both. Drag-and-dropping connections with storyboards creates vars without the space after the name, so I guess we'll adopt that as a convention for now. | |
66 | TYPO | It says `Images.xcassets` when the screenshot and actual project has it named `Assets.xcassets` | 2016-02-07 | ||
80 | ERROR | If we selected UIButton instead of default AnyObject, the method should be: | 2016-02-07 | ||
92 | TYPO | “This line one line of code is doing a bunch of things”. You could suppress first “line” | 2016-02-07 | ||
82 | SUGGEST | The lack of `import Social` threw me for a loop. I started writing the code out, then saw an error in Xcode as it started analyzing what I was writing. I thought it might be a missing import, so I typed `import S` and the Social framework came up. After I fixed that I read the sidebar and realized what was happening. Totally a bike-shed comment, but having a warning in the text before the code would help people like me who see an error and automatically try to fix it before reading on. | 2016-02-07 | That's what the "Getting in Trouble on Purpose" sidebar is there to explain. We'll try to move it up before the code so you have an advance warning. | |
115 | ERROR | “all the handleTweetButtonTapped() class does” -> “all the handleTweetButtonTapped() method does” | 2016-02-07 | ||
142 | TYPO | When we “pull to refresh”, according to the example, we are adding a new tweet to the array. However, in an older version of the document, the author might have an example integrating with the twitter API, and displaying someone’s followers tweets. That’s why it says: | 2016-02-07 | ||
89 | TYPO | This says that it should be –16 if Constrain to Margins is checked. It shows up as –20 for me. | 2016-02-07 | I think it changed in Xcode 7.1 or 7.2. Jonny Ive loves his whitespace. Will fix to -20 for next edition. | |
103 | ERROR | According to the code inlined, there should be an XCTAssert(true, “pass”) in the generated code. That’s not in my version. It’s simply an empty function. | 2016-02-07 | ||
116 | DEFER | Would be really nice to see an example of using XCTestExpectation here in addition to using sleep. Sleeping two seconds over the course of an application that has dozens of interactions that we want to verify would me adding minutes to the test runtime I think. Maybe it doesn’t? If not, explaining that would be really helpful to folks like me who are used to single-threaded tests. If not the full example, maybe include a sentence or two with how to “fix” the test by moving over to async testing and the protocols and such to look up to make it work. | 2016-02-07 | A practical concern, but will have to wait for next edition. | |
119 | ERROR | I went thru the generation of the code signing key, got my team, and was able to build the app. It installed onto the device, but when it installed I got an error from Xcode titled `Could not launch “PragmaticTweets”` with the following text: `process launch failed: Security`. I went to Settings > Device Management and trusted my account which fixed the issue. | 2016-02-07 | ||
119 | ERROR | I went thru the generation of the code signing key, got my team, and was able to build the app. It installed onto the device, but when it installed I got an error from Xcode titled `Could not launch “PragmaticTweets”` with the following text: `process launch failed: Security`. I went to Settings > Device Management and trusted my account which fixed the issue. | 2016-02-07 | ||
138 | OK | I ran into the issue described in the warning prior to reading it. I ended up Ctrl+clicking the items in the tree view under View Controller Scene and using those to ensure I had the correct items when I dropped them in. Might be worth mentioning that as an option here too. | 2016-02-08 | Not sure what to do here: is it just that the page break happens to separate the warning from the code listing? | |
139 | OK | FWIW, the avatars I get have the Twitter blue background, not the burgundy one. | 2016-02-07 | Try varying the number in the URL after "default_profile_". This comes up as burgundy for me: \n \nhttps://abs.twimg.com/sticky/default_profile_images/default_profile_6_200x200.png | |
172 | SUGGEST | Xcode provides a way to automatically create a group from a selection of files instead of the manual option explained here. I think it’s worth mentioning, but that’s just a suggestion :) | 2016-02-08 | ||
197 | TYPO | “or the view’s lower title bar” -> I think it’s the one on top of the view in Xcode 7 at least, although i think it was on the bottom in some previous versions | 2016-02-07 | ||
208 | TYPO | “So there should be two: the navigation controller that’s in front of our RootViewController, and the TweetDetailViewController.”. I guess this requires some paraphrase, as: “So there should be two navigation controllers: those in front of our RootViewController, and TweetDetailViewController respectively.”. it’s just a suggestion, but the splitViewController is definitely not managing the TweetDetailViewController | 2016-02-10 | ||
193 | ERROR | instead of using the media_url, probably it’s better to use media_url_https, specially with iOS 9, you know… :) | 2016-02-08 | ||
239 | SUGGEST | “Our approach of loading the image data from the NSURL right when the tableView(cellForRowAtIndexPath:) needs it means that everything in our app just stops while we load that image from the network.” | 2016-02-07 | ||
186 | SUGGEST | “The main attributes we can edit are the Identifier string and the segue type.” | 2016-02-07 | ||
126 | TYPO | “all of the handleShowMyTweetsButton- Tapped() method that populated it” That isn’t an actual method name (well, at least from the B2.0 code…) that was in ViewController. The relevant methods I see are: handleTweetButtonTapped, handleShowMyTweetsTapped, and maybe reloadTweets (which is the only one that directly references the offending/removed twitterWebView). Unless I’m just getting caught with a B2.0 -> B3.0 change up, that may confuse a less experienced programming student. | 2016-02-07 | ||
213 | ERROR | Code change suggested on pages 209 - 213 (PDF version) to handle both iPhone and iPad breaks the iPad Air 2 portrait mode. With this code the iPad Air 2 (simulator) in portrait mode starts up showing a not filled in tweet detail, and there is no way to navigate to the tweet list. To be an example of a recommended way to handle different screen sizes this needs to be addressed. (I have verified this both with my code, and with the downloaded zip file with code (12-2 and 12-3 in downloaded zip file.) (I am running OS X 10.11.2 and xcode 7.2.) | 2016-02-10 | ||
136 | SUGGEST | AFAICT, how to set a “trailing space constraint” is never detailed anywhere in pragios9. That’s again going to be tricky for newcomers, since the naive approach of clicking on the label then clicking on the Align button leaves the “Trailing Edges” option greyed out. I click on the label, then Command-click on the parent “Content View” in the scene sidebar to enable trailing edge alignment between the correct entities. There may be a more efficient way, but it probably needs explanation or it’s going to leave folks wandering around the Xcode UI for ages. | 2016-02-07 | Our first use of a leading/trailing constraint was back when we had the web view. I'll add the term there, and a reminder here. | |
153 | ERROR | I get an error on `println` saying that it’s been renamed to `print`. The program won’t compile until I changed it (it makes the recommendation for me). | 2016-02-07 | Oops, that should be NSLog() anyways. print/println are more primitive. | |
20 | TYPO | In the example, we explicitly define the type of `bar` to be a Double. The sentence following the code says “we’ve explicitly declared that we want foo to be a Double”. It should say “bar” instead of “foo”. | 2016-02-07 | ||
52 | SUGGEST | The return statement in the example wraps the string in parenthesis, which are not needed and not consistent with return statements in previous examples. return (“\\(name): \\(screenDescription)”) | 2016-02-07 | ||
70 | ERROR | In the description of the sizing popover in IB on page 68, I understood the text to say that I should choose Compact Width. On page 69, when dragging the button to the view it says “Drag the button … into the iPhone-sized view in IB” which also makes me think the view should be Compact Width. The screenshot of IB on page 70 shows a size of Any. When I run the project (having used Compact Width to layout the elements) the button and label are not off screen as shown in the second screenshot on page 70. I believe the correction would be to have the reader layout the elements with a size of Any. | 2016-02-07 | ||
148 | ERROR | In the Making a Twitter API Request section, you mention using both statuses/home_timeline and statuses/user_timeline. Which one should it be? | 2016-02-07 | ||
193 | SUGGEST | When loading the image for a tweet, all of the tweets I tested with used http instead of https. This prevented the images from being shown. I ended up adding “Allow Arbitrary Loads” in the Info.plist to allow these images to be viewed. | 2016-02-08 | ||
20 | TYPO | You reference bar up the code sample: var bar : Double = 0 but call it foo in the description underneath. | 2016-02-07 | ||
350 | TYPO | In the chapter ‘Digging into Documentation’ There is a reference to a guide called ‘Audio & Video Starting Point’ which we are to open. It does not exist or I can not find it. My documentation downloads is up to date and checked. I’m using Xcode 7.3 (beta4) 7D152p | 2016-06-04 | ||
77 | TYPO | 2 x ‘the’ “As our array grows, it likely won’t fit on one line of the results pane. Fortunately, there’s a way to see the whole thing. Click the rightmost button, Preview” Excerpt From: Chris Adamson with Janie Clayton. “iOS 9 SDK Development (for SpaceShipDev).” iBooks. | 2016-06-04 | ||
97 | TYPO | OptionalsPlayground final code example. if let size6 = size6 where size6 > 100.0 { | 2016-06-04 | ||
99 | SUGGEST | Grammer ? “What We’ve Learned Consider: “Optionals are a tricky subject” | 2016-06-04 | ||
54 | TYPO | In Chapter 3. Swift with Style • 54… typo … “of recovering or telling the user what happend” | 2016-06-04 | ||
111/1 | TYPO | At the end of page 111, the text says “self.reloadTweets() to the viewDidLoad()” but the example at the start of page 112 just says reloadTweets() Confirmed the link to the code from “testing/PragmaticTweets-6-1/PragmaticTweets/ViewController.swift” has only the latter. Confirmed either work though :) | 2016-06-04 | ||
22 | OK | The book describes the ability to use unicode characters. an emoji in this case, as a var name. When I tried this I got an error saying Postfix ‘=’ is reserved. | 2016-06-04 | Are you sure you're creating your emoji from the Edit -> Emoji & Symbols menu (or, if you've enabled it in system preferences, the input menu)? \n \nSwift also wants you to have consistent spacing on both sides of the "="; use a space on both sides or neither. Screenshot here: https://twitter.com/invalidname/status/739086663624871936 | |
48 | TYPO | In the last sentence: “The fact that we write the code an extension…” Should have “… code in an extension…” | 2016-06-04 | ||
41 | TYPO | At the very end of the page is the following sentence: However, the set we are working with is named “sizeInMm” rather than “sizeInMM”. | 2016-06-04 | ||
103 | 91 | TYPO | The last paragraph on the page includes a sentence that begins “We’ve used [http url with www] here…”, but the URL used in the code above is actually [https url without www]. (The errata form wouldn’t let me include the actual URLs even though they appear in the book.) | 2016-06-04 | |
10 | TYPO | I am on XCode 7.3 and I dont see the “Audio & Video starting point” under Guides. I am trying to attach a screenshot of what I see, but evidently links aren’t allowed, so here is list of guides I see :
| 2016-06-04 | ||
226 | ERROR | The pair of equations for the affine transformation matrix are incorrect; they should be: x’ = ax + cy + tx | 2016-06-04 | ||
153 | ERROR | “The code tag should not be here.” sounds like an editing comment, not like content addressing the reader. | 2016-06-04 | ||
167 | TYPO | can be spilt out -> can be split out | 2016-06-04 | ||
196 | SUGGEST | The second paragraph for “Exit Segues” states that the method signature should “have return type IBAction”, later the text says “have the @IBAction annotation”. I think the latter is much better than the first one, I would not consider the annotation being an return type like maybe in Objective-C. A return type in Swift would be annotated later with “->”. | 2016-07-09 | ||
204 | SUGGEST | I am not 100% sure, but I think at the end of the page in parentheses the following should be negated “(since we don’t need to do any of this if we’re in a split-view scenario)”. I think we ONLY need to do any of this if we’re in a split-view scenario (or we don’t need to do … unless we’re in …). | 2016-07-09 | ||
270 | TYPO | Librar -> Library in “From the Framework & Librar group,” | 2016-07-09 | ||
296 | TYPO | testingemdash;but (in first sentence of “Archiving”) | 2016-07-09 | ||
297 | ERROR | Archive is in the Product menu of XCode (not File), so “File > Archive” should be “Product > Archive” | 2016-07-09 | ||
95 | TYPO | In the first paragraph, the last sentence is “As of this writing, Twitter’s SSH support isn’t forward-secrecy compliant.” It should be “As of this writing, Twitter’s SSL support isn’t forward-secrecy compliant.” | |||
8 | ERROR | When I attempt to execute the code on page 6 with the additions on page 8, I get this error message listed on bottom. I think that this URL is no longer valid. If replaced by something like “… mp3.fr.armitunes.com:8000/listen.pls” (from the webpage), the code works. 2016-07-25 07:57:49.225 MyPlayground[23793:3155663] Failed to obtain sandbox extension for path=/var/folders/6n/6b3n1l7n3q19vkn2m765fc7r0000gn/T/com.apple.dt.Xcode.pg/containers/com.apple.dt.playground.stub.iOS_Simulator.MyPlayground-CA217213-6208-442C-9CA2-74493B1B5F1F/Library/Caches/com.apple.dt.playground.stub.iOS_Simulator.MyPlayground-CA217213-6208-442C-9CA2-74493B1B5F1F. Errno:1 | |||
193 | ERROR | When the auto layout constraints for the stack view are described, it says to give it a top constraint of 0 to the superview. This causes the top of the stack panel to overlap with the status bar on the phone. This should be 0 to the top layout guide. Note that the sample project sets this correctly (and is how i found out what to set it to). | |||
318 | TYPO | Within the “Implementing the Next Keyboard Button” section. I believe “KeyboardViewControllerStoryboard.storyboard” should be “PragmaticTweepsKeyboard.storyboard”. Also, what good does an ePub page number get you? | |||
24 | 25 | SUGGEST | The digging into Documentation section is based on the IOS 9.0 Documentation which is too far from the curent documentation and does not seem accessible from the Xcode Documentation. | ||
6 | ERROR | I am using Xcode 8.1 and was working on the very first example. I’m assuming this is due to iOS 10. let url = NSURL (string:
"xxxx://wwwDOTpublicbroadcastingDOTnet/wgvu/ppr/wgvufm.m3u") Generated the error message “NSURL” is not implicitly convertible to “URL”; did you mean to use “as” to explicitly convert?" Searching around stackoverflow, I have adjusted the code to use URL rather than NSURL and lowercase url in the AVPlayer . It now appears to work as follows: let url = URL (string: "xxxx://wwwDOTpublicbroadcastingDOTnet/wgvu/ppr/wgvufm.m3u") |