Sunday, December 22, 2013

Xcode 4.4 Release Notes

Xcode 4.4 Release Notes

New Features

General

  • You can drag file, directory, and group icons from the jump bar to the project navigator, a Finder window, and other apps. 7452760
  • The Use Base Internationalization setting in the project editor works only on Mac products for deployment on OS X v.10.8 and later. Xcode must also be running on OS X v.10.8 or later. This setting is not supported on iOS projects. 11712855

Editing Source Code

  • The source editor can remove trailing whitespace at the end of a line after you have edited it. You control this behavior with the “Automatically trim trailing whitespace” option in Text Editing preferences. 2535591
  • When the “Automatically insert closing braces” option in Text Editing preference is turned on, as you type an opening parenthesis, brace, or quotation mark, the source editor adds the corresponding closing character. When the “Enable type-over completions” option is turned on, the editor adds the closing character in a state in which you can type over the character. This feature reduces the appearance of duplicate closing characters, such as when you type both the open and close characters quickly. 3780948
    Press Tab to jump over the closing character.

Compiling: ARM

  • LLVM integrated assembler for ARM. This new assembler improves compilation times for iOS products, and provides better user level diagnostics for ARM assembly code. This assembler uses only Unified Assembly Language (UAL) assembly code; therefore, you may need to update projects that use manually generated assembly code. 9136376
    Use the clang -no-integrated-as command-line option in projects with substantial Divided Syntax assembly code while transitioning to UAL.

Enhancements

Editing Source Code

  • During a code completion interaction, Xcode gives higher priority to completions you have used recently. 9790948

Editing Property Lists

  • You can view and modify the root object of a custom property list file. 8635494

Creating Projects

  • When creating a project, you can choose whether to add it to a workspace or create a standalone project. 8032086

Resolved Issues

Editing User Interfaces

  • When you hold down Option and place the pointer over views in the canvas, the distance values are not obscured by other elements, such as the resizing handles. 8204499

File System

  • You can rename a file just by changing the case of one of the letters in its filename, even on a case-insensitive file system. 7846036

New Issues

General

  • A failure to rebuild precompiled header (PCH) files causes syntax highlighting, code completion, and Command+click navigation to behave incorrectly. 11538640
    Delete the PCH index folder.
  • Xcode may not show any windows when it’s launched. This happens when you download Xcode from https://developer.apple.com and the “Close windows when quitting an application” preference in System Preferences is unselected. 11865559
    Switch to another app and relaunch Xcode.

Editing Source Code

  • Text and font rendering on OS X v10.8 is optimized for Retina display. On a non–Retina display running OS X v.10.8, some font configurations can appear blurry in Xcode. 11486875
    Switch back to non–Retina display optimized text and font appearance in Xcode by entering this command in Terminal:
    defaults write com.apple.dt.Xcode NSFontDefaultScreenFontSubstitutionEnabled -bool YES

Editing Core Data Models

  • MobileMe syncing support is deprecated. However, the syncable property is still set to YES by default in the User Info Dictionary for entities and properties, but the model editor doesn’t show this setting. 10787672
    To explicitly set syncable to NO for an entity or a property, add a key/value pair in your User Info Dictionary:
    1. Select the entity or property for which you want to turn off synching on a model file.
    2. In the User Info section in the Data Model inspector, add this key/value pair:

      key
      "com.apple.syncservices.Syncable"
      value
      "NO"

Localization

  • When you select the Use Base Internationalization option in the project editor, Xcode generates strings files for each your project’s user interface documents. 11462724
    To resynchronize your strings files with new content from your user interface documents, use the --generate-strings-file option of the ibtool command to produce new strings files. Then, manually merge the new files into your existing localized strings.

Debugging: LLDB

  • The po, print, and expression commands cannot access enumerators directly. You must use the name of the enumeration. 11485295
    For example, if your code contains enum MyEnum { e1, e2 };, LLDB emits an error if you type print e1. Instead type, print MyEnum::e1.

Autolayout: Runtime

  • At runtime, when adding subviews to a split view while loading both views from nib files, you may see log messages about unsatisfiable constraints because of autoresizing mask constraints on the split view panes. These are benign log messages because a split view automatically fixes the problem after adding the subview. 11614767
    In your code, before adding the subview to the split view, send setTranslatesAutoresizingMaskIntoConstraints:NO to the subview.

No comments:

Post a Comment