Hướng dẫn sử dụng Xcode để tạo và quản lý dự án

Bài 1: cách sử dụng Xcode để tạo và quản lý dự án

Tạo một dự án

Việc đầu tiên khi bắt đầu phát triển một app là việc dùng xcode để tạo 1 dự án

Xcode đã thêm vào một số mẫu dự án vị dụ như: Game, app cùng với các tab điều khiển cơ bản, app về bảng cơ bản... hầu hết các mẫu này đã chuyển bị săn về giao diện và file code để mình có thể chạy ngay. trong vidu này chung ta sẽ bắt đầu dự án với một dữ án về ứng dụng trống

Làm việc với mẫu ứng dụng trồng sẽ giúp ta hiểu rõ về cấu trúc cơ bản của một app trên ios và và biết được làm thế nào để thêm các thành phần trên màn hình. Sau khi đã học được cách làm việc của mọi thành phần chung ta có thể sự dụng các templete khác cho các app mà chung ta muôn phát triển để tiết kiệm thời gian cầu hình .

Tạo một dự án trống

    1. mở Xcode từ thư mục /Applications hoặc từ spolight gõ vào Xcode .

      1. màn hình xcode khi băt đầu xuất hiện.

      2. Nếu nó mở ra một dự án thay vì màn hình như trên thì cũng không cần lo lắng, chỉ cần chon menu rồi chọn File->New->project

    2. trong màn hinh chào mừng click “Create a new Xcode project” (or choose File > New > Project).

      1. Xcode sẽ mở ra một cửa sổ khác để cho phép m.

    1. Phần bên trái là đầu mục các loại ứng dụng, bên phai là danh sách các mẫu ứng với đầu mục.

    2. Trong phần danh sách, click Empty Application và click Next.

    3. Một cửa sổ khác sẽ xuất hiện cho phép chọn tên ựng dung và các lưa chọn khác cho ựng dụng.

      1. Y nghĩa của các mục:

        • Product Name: tên ựng dụng

          • Xcode sử dụng tên bạn nhập vào cho app khi chạy .

        • Company Identifier: định danh của công ty nếu không có có thể sử dụng com.example.

        • Class Prefix: Tiền tố của lớp

          • Xcode sử dụng tên tiền tố cho lớp, lớp Object-C cùng với tiền tố sẽ giúp cho lớp là duy nhất tranh trùng lặp với framework và bundles bạn có thể sử dụng. Tiền tố này sẽ là chuẩn để tạo tiền tố cho toàn bộ lớp trong dự án. Apple sự dụng 2 ký tự đi liền làm tiền tô trong các lớp của framework. vì thế chung ta nên tạo tiền tố với it nhất là 3 ki tự để tránh trùng với các lớp trong framework

    1. Chọn iPhone từ menu device pop-up.

      1. Giống như đã đề cập trước, tạo ứng dụng với giao diện Iphone rất đơn giản. về cơ bản thì cùng giống với iPad hay các app không xác định kiểu thiết bị sử dụng.

    1. chọn Next.

    2. trong dialog xuất hiện, chọn nơi đặt dự án và kích nút Create.

      1. Xcode mở dự án mới trong một của sổ (gọi là workspace window), giống như bên dưới:

Các thành phần bên trong Xcode

Xcode đã thêm vào mọi thư mà chúng ta cần để tạo một ứng dụng. nó không chỉ là việc tổ chức files vào trong ứng dụng mà nó còn cung cấp chình soạn thảo code và thành phần cùng với giao diện, cho phép chung ta chạy, debug lỗi trên ứng dựng

Một vài thành phần trên Xcode workspace mà chúng ta cần quan tâm. Bạn sẽ sử dụng các điều kiển được định nghĩa trong cửa sổ bên dưới thông qua bài học này. Click lên nhưng buttons để biết nó làm việc thế nào. nếu bạn muốn nhiều thông tin hơn về giao diện này có thể đọc thêm help — chung ta có thể tìm bằng cách click lên control trong xcode và chọn mô tả của nó từ shortcut menu.

Chạy ứng dụng trên Simulator

Bời vị chúng ta viết theo mẫu của Xcode nên moi chạy ứng dụng sẽ được cài đặt tự đông. Qua đó chúng ta không phải viết thêm gì cả. chúng ta có thể chạy ứng dụng với template chống mà không phải thêm cầu hình nữa

Để build and run ứng dụng, chúng ta có thể sự dụng Simulator. Simulator được kết hợp với Xcode, Simulator là một giại pháp để chạy ứng dụng để test khi bạn chưa có thiết bị thật để chạy (Mà nếu có thiết bị thật thì để chạy được vẫn phải có thêm tài khoản của Apple mất 99$ hoặc không thì phải đi xin được ai ấy cho dùng ké :))

IOS Simulater có sẵn các loại thiết bị khác nhau như iPad,Iphone cúng với các phiên bản màn hình khác nhau cũng như phiên bản của hệ điều hành khác nhau (IOS 6,IOS 6.. tuy vào mức độ sắn có lúc bạn phát triện)

Chúng ta có thể sủ dụng simulater cho toàn bọ các app mà bạn phát triển. trong vi dụ này tôi sử dụng iPhone Retina (4-inch)

Để chạy ứng dụng trên Simulator

    1. chọn iPhone Retina (4-inch) Tứ Scheme pop-up menu trong the Xcode toolbar.

      1. Đi lền phần khoan đỏ ở trên chung ta có thể nhình thấy được các Simulator có sắn

    2. Click nút Run, nút này ở bên trái của Xcode toolbar.

      1. Ngoài ra chúng ta có thể chạy bằng cách chọn Product > Run ( hoặc kích Command + R).

      2. Nếu đây là lần đầu tiến bạn chạy ứng dụng thì Xcode sẽ họi bản có cho phép chay developer mode trên Mac không. Developer mode cho phép Xcode truy cập các thành phần để giỡ rối mà không đòi hỏi nhập usernam và password trong mỗi lần chạy nữa. Tất nhiên là mình sẽ chọn cho phép, Nếu bạn không cho phép có thể khi chạy bạn có thể để là hỏi username và password sau. trong vi du này thì chung tôi đảm báo developer mode được cho phép

    1. Nhình phân Xcode toolbar khi đã build xong. Xcode sẽ hiện thị thông báo về việc sử lý builb trong activity viewer, cái này nằm ở giữa toolbar.

Sau khi Xcode kết thúc việc builb ứng dụng, Simulator sẽ chạy tự động ban sẽ cần vài phút để Simulator khợi động trong lần chạy đầu tiên.

iOS Simulator mởi trong iPhone mode, trên màn hình Iphone Simulatỏr, iOS simulator sẽ mở ứng dụng của bạn. (nếu bạn nhình thấy thông báo trọ đến trong phần Xcode debugger, bạn không phải lo lắng chung ta sẽ tìm hiểu về nó ở phần sau)

Giống như là mẫu ứng dụng trống, mẫu này không có gì cả khi chạy nó chỉ hiện thị một màn hình trắng. Các mẫu khác thì sẽ phức tạp hơn và có nhiều thành phân hơn. Nhưng quan trong để hiểu được mẫu sử dụng trước khi có thê mở rộng nó để tạo ứng dụng. Chạy mẫu mà không sử đổi gì là một cách tốt để bắt đầu phát triển

Sau khi bạn khám phá ứng dụng , thoát khoi simulator băng cách chọn iOS Simulater>Quit iOS Simulater (hoặc ấn nút Command -Q)

Xem lại phần Source Code

Mẫu ứng dụng trống đã tồn tại một vài file trong source code, nhưng file này để cài đặt môi trương ứng dụng, hầu hết các công việc được thực hiện trong hàm UIApplicationMain hàm này tự động gọi đến file main.m . hàm UIApplicationMain tạo một đối tượng cái mà sẽ cái đặt hạ tầng cho ứng dụng của bạn làm việc cùng với hệ điều hành iOS. cái này nó thêm và tạo 1 vồng lặp chuyển các sử kiện được đưa vào tới ứng dụng.

Bạn không cần quan tâm đến file main.m trong thư mục source, Nhưng nó thì cần thiết để hiểu được ứng dụng làm việc thế nào.

Tìm file main.m trong source

    1. đạm bảo phần điểu khiển của dự án đã được mở. project navigator hiện thị toàn bộ các file trong dự án. Nếu điều kiện này không được mở thì kích vào biểu tượng folder trong phần điều kiển để mơi giống như bên dưới.

    2. Mở folder Supporting Files trong project navigator bằng cách click lên hình tam giác.

    3. Chọn file main.m.

      1. Xcode mở file trong khu vực soạn thảo chính của cửa sổ nhình giống như bên dưới:

      2. Nếu bạn kích đúp lên file ban sẽ mở ra một cửa sổ khác đè lên của sổ hiện tại. Ngoài ra bạn có thể chọn một file khác để mở trong phần soạn thảo chính bằng cách kích lên nó hoặc kích đúp lên nó để mở ra một cửa sổ khác.

các hàm main trong file main.m gọi tới hàm UIApplicationMain trong một autorelease pool.

  • @autoreleasepool {

  • return UIApplicationMain(argc, argv, nil, NSStringFromClass([XYZAppDelegate class]));

  • }

khái bào @autoreleasepool để hỗ trợ quản lý bộ nhớ trong ứng dụng. Automatic Reference Counting (ARC) làm cho phần quản lý bộ nhớ trở nên đơn giản bởi trình biên dich sẽ làm công việc giữ và theo dõi người sở hưu đối tượng. @autoreleasepool là một phần hạ tầng của quản lý bộ nhớ .

Gọi tới UIApplicationMain để tạo 2 thành phần quan trọng trong ứng dụng của ban

    • Môt khởi tạo của lớp UIApplication, gọi tới một application object.

      • application object quản lý vòng lặp sự kiện và phối hợp với các thành phần ở mức cao hơn. lớp này được định nghĩa trong UIKit framework, chú ý không đòi họi bạn phải thêm code gì vào đây để nó có thể làm việc

    • Một lớp XYZAppDelegate, để gọi tới app delegate.

      • Xcode tạo ra lớp này cho bạn giống như một phần cài đặt trong mẫu ứng dụng trống. app delegate tạo cửa sổ nơi mà nội dung ứng dụng của bạn được vẽ and cung câp một chỗ để phần hồi trạng thái sự kiện trong ứng dụng. Đây là nơi bạn viết sửa đội mức độ trong code. giống như các lớp khác, lớp XYZAppDelegate cũng được định nghĩa bởi 2 file trong source. file giao diện XYZAppDelegate.h, và file thực thi XYZAppDelegate.m.

Đây là cách để làm thế nào để các đối tượng trong ứng dùng và app delegate tương tác với nhau. Giống như khi khơi động ứng dụng, các đối tượng trong ứng dụng được định nghĩa phương thức trên app delegate để đưa lại mã code tuỳ chỉnh có thể làm việc. đó là nới mà ứng dụng sẽ được thực thi. Để hiểu được qui định trong app delegate sâu hơn, hãy nhình vào file app delegate , bắt đầu bằng việc xem file giao diện. Để xem file giao diện chọn file XYZAppDelegate.h trong phần project navigator. giao diện file app delegate chứa đựng một thược tính là :window. thuộc tính này giúp cho app delegate giữ các thành phần trên cửa sô và là nới mà nôi dung ứng dụng của bạn sẽ được vẽ lên.

Tiếp theo chung ta sẽ xem file thi hành của app delegate . chọn file XYZAppDelegate.m trong project navigator. File thực thi này sẽ chứa đựng bộ khung các phương thức quan trong. Những phương thức được đinh nghĩa sắn này cho phép các đối tượng trong ứng dụng có thể nói chuyện với app delegate. Trong thời gian mà các sự kiện đang diến da— ví du như khi ứng dụng chạy cảnh bảo low-memory warnings, ứng dụng kết thúc— các đối tượng gọi tới các phương thức tương ứng trong app delegate, đưa cho nó 1 phản hồi thích hợp. Bạn không cần làm gì cả mà vẫn đảm bảo các phương thức đã được gọi đúng.

Mỗi phương thực được thi hành tự động giống như một cách cử xử mặc định. Nếu bạn để khung thực thi này trống hoặc xoá nó từ file XYZAppDelegate.m , bạn nhận được xử lý mặc định khi các phương thức được gọi. sử dụng những khung mặc định và thêm đoạn code của bạn vào để thực thi các nhiêm vụ mà bạn muốn. ví dụ: Phương thức đầu tiên trong file XYZAppDelegate.m chứa đựng những dòng code cái đặt cho cửa sổ có màu nền là màu trắng. bạn sẽ nhình thay khi bạn chạy ứng dụng đầu tiên. trong bài học này bạn không cần sửa đổi gì code ở trong file delegate cả, quay lên phần đầu và bỏ đi đoạn code cài đặt cho màu nền window trắng để để thấy

Để cấu hình file thi hành trong app delegate

    1. tìm hàm application:didFinishLaunchingWithOptions: trong file XYZAppDelegate.m.

      1. nó là phương thức đầu tiên ở trong file.

    2. Xoá 3 dòng đầu tiên trong phương thức khí đó phương thức sẽ giống như bên dưới:

        • - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

        • {

        • return YES;

        • }

Xcode tự động lưu lại thay đổi. Xcode tiếp tục lặp và lưu toàn bộ công việc của ban. (bạn có thể lấy lại phần trước khi thay đổi bằng cách chọn Edit > Undo)

Tạo một Storyboard

Tại đây, bạn đã thật sự tạo một storyboard cho ứng dụng. Một storyboard là một giao diện trưc quan của giao diện người dùng cho ứng dụng. Nhình vào nội dung màn hình và chuyển đổi giữa chúng. bạn có thể sử dụng storyboard để tạo tạo sơ đồ di chuyển màn hình hoặc sắp đặt vị trí các view trên màn hình hoặc điều kiển ứng dụng của ban.

Làm thề nào để đưa được một storyboard vào trong một ứng dụng. trong bài học này ban sẽ tạo nó bằng tay và thêm nó vào ứng dụng của ban. không giống như mẫu ứng dụng trống mà chúng ta đã dùng. một vài mẫu ứng dụng khác khi tạo đã tự động thêm file storyboard vào trong ứng dung, thêm view controllers và kết hợp luôn với storyboard. còn ở đây thì chúng ta phài làm nó bằng tay. sau khi tạo xong storyboard ta phai kết hợp nó với các view controller.

To create a new storyboard

    1. Choose File > New > File (or press Command-N).

      1. A dialog appears that prompts you to choose a template for your new file.

    2. On the left, select User Interface under iOS.

    3. Click Storyboard, and click Next.

    4. For the Devices option, select iPhone.

    5. Click Next.

      1. A dialog appears that prompts you to choose a location and name for your new storyboard.

    1. In the Save As field, name the file Main.

    2. Make sure the file is saved in the same directory as your project.

    3. For the Group option, select ToDoList.

    4. For Targets, select the checkbox next to ToDoList.

      1. This option tells Xcode to include the new storyboard when it builds your app.

    1. Click Create.

A new storyboard file is created and added to your project. You’ll work in this file to lay out the content of your app.

Now you need to tell Xcode that you want to use this storyboard as the interface to your app. When it starts up, the application object checks whether the app has a main interface configured. If it does, the application object loads the defined storyboard when the app launches.

To set the storyboard as the app’s main interface

    1. In the project navigator, select your project.

      1. In the editor area of the workspace window, Xcode displays the project editor, which allows you to view and edit details about how your app is built.

    2. Under Targets, select ToDoList.

      1. If the Project and Targets lists don’t appear in the project editor, click the disclosure triangle in the top-left corner of the editor pane to reveal the lists.

    1. Select the General tab.

    2. Under Deployment Info, find the Main Interface option.

    3. Select your storyboard, Main.storyboard.

Add a Scene to Your Storyboard

Now that you have a storyboard, it’s time to start adding app content. Xcode provides a library of objects that you can add to a storyboard file. Some of these are user interface elements that belong in a view, such as buttons and text fields. Others define the behavior of your app but don’t themselves appear onscreen, such as view controllers and gesture recognizers.

To start, you’ll add a view controller to your storyboard. A view controller manages a corresponding view and its subviews. You’ll learn more about the roles of views and view controllers in the next chapter, App Development Process.

To add a view controller to your storyboard

    1. In the project navigator, select Main.storyboard.

      1. Xcode opens the storyboard in Interface Builder—its visual interface editor—in the editor area. Because the storyboard is empty, what you see is a blank canvas. You use the canvas to add and arrange user interface elements.

    2. Open the Object library.

      1. The Object library appears at the bottom of the utility area. If you don’t see the Object library, you can click its button, which is the third button from the left in the library selector bar. (If you don’t see the utility area, you can display it by choosing View > Utilities > Show Utilities.)

      2. A list appears showing each object’s name, description, and visual representation.

    1. Drag a View Controller object from the list to the canvas.

      1. If you can’t find the object titled View Controller in the Object library, filter the list of objects by typing in the text field below the list. Type View Controller, and you see only view controller objects in the filtered list.

At this point, the storyboard in your app contains one scene. The arrow that points to the left side of the scene on the canvas is the initial scene indicator, which means that this scene is loaded first when the app starts. Right now, the scene that you see on the canvas contains a single view that’s managed by a view controller. If you run your app in iOS Simulator, this view is what you see on the device screen. It’s useful to run your app in iOS Simulator to verify that everything is configured correctly. Before doing that, add something to the scene that you’ll be able to see when you run the app.

To add a label to your scene

    1. In the Object library, find the Label object.

      1. If you entered text in the filter text field, you may need to clear its contents before you can see the Label object. You can also type Label in the filter field to find the Label object quickly.

    2. Drag a Label object from the list to your scene.

    3. Drag the label to the center of the scene until horizontal and vertical guides appear.

      1. Stop dragging the label when you see something like this:

      2. The guides mean that the label is now centered horizontally and vertically. (The guides are visible only when you’re dragging or resizing objects next to them, so they will disappear when you let go of the label.)

    1. Double-click the text of the label to select it for editing.

    2. Type Hello, World! and press Return.

      1. If necessary, recenter the label.

Test Your Changes

Running your app in iOS Simulator is a great way to periodically check that everything is working the way you expect. At this point your app should launch and load the scene you created in your main storyboard. Click the Run button in Xcode. You should see something like this:

If you don’t see the label you added, make sure the storyboard you created is configured as the main interface for your app and make sure you’ve removed the code that creates the empty white window in the app delegate. If necessary, go back and repeat the steps for those sections.

This is also a good time to experiment with what you can add to an interface. Explore Interface Builder by changing:

    • The text of the label

    • The font size of the label

    • The color of the text

Build the Basic Interface

Now that you can put content in a scene, it’s time to build the basic interface for the scene that lets you add a new item to the to-do list.

To add an item to the to-do list, you need a single piece of information: the item name. You get this information from a text field. A text field is the interface element that lets a user input a single line of text using a keyboard. But first, you need to remove the label you added earlier.

To remove the label from your scene

    1. Click the label to select it.

    2. Press the Delete key.

      1. The label is removed from the scene. If this wasn’t what you wanted, you can choose Edit > Undo Delete Label. (Every editor has an Edit > Undo command to undo the last action.)

Now that you again have a blank canvas, create the scene for adding a to-do item.

To add a text field to your scene

    1. If necessary, open the Object library.

    2. Drag a Text Field object from the list to your scene.

    3. Drag the text field so that it’s positioned about two-thirds from the bottom of the screen.

    4. If necessary, click the text field to reveal the resize handles.

      1. You resize a UI element by dragging its resize handles, which are small white squares that appear on the element’s borders. You reveal an element’s resize handles by selecting it. In this case, the text field should already be selected because you just stopped dragging it. If your text field looks like the one below, you’re ready to resize it; if it doesn’t, select it on the canvas.

    5. Resize the left and right edges of the text field until you see vertical guides appear.

      1. Stop resizing the text field when you see something like this:

Although you have the text field in your scene, there’s no instruction to the user about what to enter in the field. Use the text field’s placeholder text to prompt the user to enter the name of a new to-do item.

To configure the text field’s placeholder text

    1. With the text field selected, open the Attributes inspector

    1. in the utility area.

      1. The Attributes inspector appears when you select the fourth button from the left in the inspector selector bar. It lets you edit the properties of an object in your storyboard.

    2. In the Attributes inspector, find the field labeled Placeholder and type New to-do item.

      1. To display the new placeholder text in the text field, press Return.

Checkpoint: Run your app in iOS Simulator to make sure that the scene you created looks the way you expect it to. You should be able to click inside the text field and enter a string using the keyboard.

Nguồn : https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapiOS/FirstTutorial.html