Updates That Will Be Included in Xcode 6 Start to Finish: For all the chapters below, all sample code will be redone in Swift and all figures will be replaced and descriptions of UI elements will be modified. Additional content changes are estimated and explained as follows: Front MatterIntroduction < 10%Part I. First Steps***The sample code in Part I will remain in C or Objective-C to keep the examples simple.1. Getting Xcode < 10%2. Kicking the Tires < 10%3. Simple Workflow and Passive Debugging < 10%4. Active Debugging < 10%5.
Compilation 15-20%* Developer-defined modules* Mention iOS-side dynamic frameworks and iOS/OS X extension modules* Explain profile-guided optimization; if this goes beyond introductory scope, practical ad-vice can go into Measurement and Analysis, or Snippets.6. Adding a Library Target < 10%7. Version Control 10-15%?The version-control UI and capabilities don''t look to have changed, and Apple isn''t featuring any changes, but my instinct says this is one of the difficult features they tend to hold out of be-tas until later in the process. As of first beta, it''s about 5%, but I don''t believe it.Part II. The Life Cycle of an iOS Application8. Starting an iOS Application ~10%9.
An iOS Application: Model ~30%* Start with a new section showing how the C-language passer-rating function can be re-written in Swift.* Demonstrate the Playground environment for interactive exploration.* Show later that Swift content is automatically part of the application module, and the ported rating function is available throughout the project without any explicit prototypes or includes.10. An iOS Application: Controller ~10%11. Building a New View ~15%* Introduce the idea of size classes (which will be essential in chapter 12)12. Autolayout in a New View ~30%* Demonstrate how size classes make it possible to lay out portrait/landscape and iPh-one/iPad view hierarchies in a single scene.* Demonstrate how to special-case layouts that size classes don''t fully cover.
* First opportunity to demonstrate the view debugger, an interactive wireframe of the view hierarchy; it allows you to visualize contstraints and misplaced views.13. Adding Table Cells ~25%Later iterations of the cell view will be drawn programmatically rather than from label and image subviews. This makes it possible to demonstrate "live rendering," which allows Interface Builder to display and configure custom views -- a feature that had been lost when Xcode 4 abolished IB plug-ins. This is big news for a lot of developers.14. Adding an Editor < 10%15. Unit Testing 20%* Discuss the new performance-benchmarking feature of the unit test framework.
The sub-ject straddles the testing framework and performance-analysis, which is the subject of Chapter 16.* Demonstrate asynchronous testing -- previously, tests started and ended in a single method, so test cases could not stick around long enough to analyze I/O or UI-triggered code. It''s now possible to automate real application-level testing.* Mention that Instruments can now profile unit tests; see how the subject can be divided among this chapter, Chapter 16, and Instruments in Part IV.16. Measurement and Analysis 20-25%* Either refer back to Chapter 15 for the use of Instruments in unit tests, or take over a sub-stantial part of that discussion.* Refer to Chapter 15 to acknowledge that the new benchmark unit tests are an important added tool.* Given that the existing Chapter 16 compares several implementations of a method, a benchmark test might be the best strategy.
That''s the upper end of the change spread.17. Provisioning ~15%This is another area in which the first beta doesn''t show much change, and I think changes will come once Apple has put the necessary Developer Programs back end into production. If nothing happens, this is a 5% chapter; I suspect 15%+.Part III. Xcode for Mac OS X18. Starting an OS X Application < 10%19. Bindings: Wiring an OS X Application ~25%* Convert the application layout from XIB to Storyboard (new in 10.
10/Xc6). Major change.* Shift the app design over to the new view-controller architecture for 10.10.* Risk: The necessary changes for bringing Storyboard to OS X may result in significant changes in how bindings are done.20. A Custom View for OS X ~15%* Add another example of Live Rendering.21.
Localization ~20%* Discuss how Xcode autogenerates string-localization tables.* Remove most of the discussion of testing apps in other localizations, because the debug-ger and Interface Builder now do the localization shift for you.22. Bundles and Packages < 10%23. Frameworks and Extensions ~30%* Formerly "Frameworks." Extensions allow iOS and OS X applications to inject services and UI into other applications. The Mac demo project will do a simple service; the tech-nique is supposed to be the same as for iOS.* Discuss addition of dynamic frameworks to iOS* Consider: Extensions are most exciting in iOS, but frameworks are trickier to do in OS X.
See if this chapter can be shifted gracefully into Part II. If it''s not immediately appar-ent, don''t.24. Property Lists < 10% Part IV. Xcode Tasks25. Documentation in Xcode < 10%26. The Xcode Build System < 10%27. Instruments ~30%* Edit to reflect the substantially changed UI.
* Many instruments added, consolidated, dropped, enhanced.* Refer to the ability to profile unit tests; discuss how Instruments attaches to them.28. Debugging ~30%* New layout for the Debug area.* New techniques for debugging Swift.29. Continuous Integration ~20% or eliminateThere are improvements, but not everybody disposes of a Mac server. The chapter could be elim-inated as an "advanced technique," or at least a minority one.
30. Snippets ~15%This chapter collects the overflow from other chapters. It''s hard to predict everything that turns out not to fit elsewhere. AppendicesA. Some Build Variables ~10%Nothing remarkable, but some variables will be retired, and Swift will introduce a few.B. Resources 15-20%Concentrate on Swift resources: They''ll be new and under-publicized, so the book should make a point of being helpful in finding them. Other than that, the usual turnover.