Lokvin Wiki

Xcode change target name[]

below step works for Xcode 4.6.2

  1. in Xcode click project icon, in TARGETS direct edit target name, such as: change change ipadcn to cn_ipad
  2. in Build Settings -- Package, change the Product Name, such as: change ipadcn to cn_ipad
  3. Xcode close project, delete the xcode auto generate files, such as: *.xcscheme, ..., Xcode Re-open the project
  4. If you meet Simulate error "failed to attach to process id 0", you need clean Simulator content.
    1. reset simulator: in menu iOS Simulator --> Reset Content and Settings...
    2. back to xcode, in menu Window --> Organizer --> Projects --> Delete Derived Data

find iOS simulator location[]

  1. Go to ~/Applications, and right-click Xcode.
  2. Select “Show Package Contents”. A folder opens.
  3. Browse through the folder structure to “Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Applications/”
  4. There you’ll see the “iOS Simulator.app” — it’s best to add it to the dock, so that you do not need to go through these steps again.
  5. Close all the folders, as you won’t need them to use the iOS Simulator.
  6. Start iOS Simulator from the Dock.

What's in ios[]

Core OS[]

Ios coreos.jpg

Core Services[]

Ios coreservices.jpg


Ios media.jpg

Cocoa Touch[]

Ios cocoatouch.jpg

Platform Components[]

Ios platformcomponents.jpg


Divide objects in your program into 3 "camps".

  • Model = What your application is (but not how it displayed)
  • Controller = How your model is presented to the user (UI Logic)
  • View = Your Controllers minions
Ios mvc model.jpg

MVC Communication[]

  • Controllers can always talk directly to their Model.
  • Controllers can also talk directly to their View.
  • The Model and View should never speak to each other.
  • Can the View speak to it's Controller?
    • The Controller can drop a target on itself.
    • Then hand out an action to the View.
    • The View sends the action when things happen in the UI.
  • Sometimes the View needs to synchronize with the Controller.
    • The Controller set itself as the View's delegate.
    • The delegate is set via a protocol (i.e. it's "blind" to class)
  • Views do not own the data they display.
    • So, if needed, they have a protocol to acquire it.
    • Controllers are almost always the data source (not Model).
  • Controllers interpret/format Model information for the View.
  • Can the Model talk directly to the Controller?
    • No. The Model is (should be) UI independent.
  • So what if the Model has information to update or something?
    • It use a "radio station" - like broadcast mechanism.
    • Controllers (or other Model) "turn in" to interesting staff.
  • A View might "turn in" , but probably not to a Model's "station".

Ios mvc communications.jpg

Ios mvc multi.jpg