Một số thủ thuật trong lập trình iOS (Part 2)

Xin chào tất cả các bạn, một tháng trôi qua nhanh quá, dù muốn hay không thì tôi lại quay trở lại với các bạn đây 😅, và sau đây sẽ là phần tiếp theo của loạt bài viết về Một số thủ thuật trong lập trình iOS

1. Mở Terminal của project bằng Xcode Keyboard Shortcut

Bạn có biết rằng chúng ta có thể mở Terminal bằng Xcode tại đường dẫn của thư mục thông qua một cái gọi là custom keyboard shortcut? Đầu tiên, ta cần tạo một file script trong project bằng cách chọn File -> New -> File -> Shell Script rồi thêm dòng code sau vào file vừa tạo:

#!/bin/sh
open -a Terminal .

Bây giờ chúng ta mở terminal và chạy câu lệnh sau để tạo file thực thi:


chmod +x Script.sh

Sau đó mở Xcode Preferences và chọn tab Behaviors. Chọn dấu '+' để thêm một custom behavior, và ở phía bên tay phải, check vào Run và chọn Choose script để chọn đến script vừa tạo ở các bước trước.

Click vào biểu tượng ⌘ nằm bên cạnh custom behavior vừa tạo để cài đặt phím tắt. Tôi thường sử dụng tổ hợp phím ⌃ + ⌘ + T để mở Terminal. (Chú thích: ⌘ = Command key, ⌃ = Control key, ⌥ = Option (alt) key, ⇧ = Shift key)

2. Clear Derived Data sử dụng Xcode Keyboard Shortcut

Hoàn toàn tương tự như các bước đã nêu ở trên, chúng ta có thể tạo một keyboard shortcut để thực thi các câu lệnh xóa derivedData bằng cách thêm các câu lệnh sau vào script:

rm -rf ~/Library/Developer/Xcode/DerivedData
rm -frd ~/Library/Caches/com.apple.dt.Xcode/*

3. NSDoubleLocalizedStrings (Test Internationalization)

Chúng ta có thể sử dụng NSDoubleLocalizedStrings như một tham số khởi chạy (launch argument) để nhân đôi độ dài của tất các các NSLocalizedStrings, đây là một cách khá hay để test UI.

Và đây là kết quả:

4. Cài đặt UserDefault thông qua Launch Argument

Đây là một trong những tính năng ẩn cực hay của UserDefaults. Nếu chúng ta truyền một giá trị vào UserDefault bằng cách sử dụng launch argument nó tương tự như cách mà chúng ta set giá trị mới cho key ấy. Vù vậy chúng ta có thể dụng trick này để ghi đè giá trị hiện tại của User Default ấy, sẽ là rất hữu dụng trong việc debug:

Và sau đây là kết quả:

5. Truy cập thư mục Document của ứng dụng thông qua app Files (Tệp)

Kể từ iOS 11 trở đi, nếu chúng ta cài đặt giá trị của LSSupportsOpeningDocumentsInPlace thành YES và UIFileSharingEnabled thành YES trong file Info.plist, thì người dùng có thể truy cập vào thư mục Documents của ứng dụng thông qua ứng dụng Files của Apple (tên tiếng Việt là Tệp).

<key>LSSupportsOpeningDocumentsInPlace</key>
<true/>
<key>UIFileSharingEnabled</key>
<true/>

Mở ứng dụng Files của Apple, chúng ta sẽ thu được kết quả như sau:

6. Quick Jump đến một dòng nào đó trong Xcode file

Chắc hẳn không ít bạn đã biết đến tổ hợp phím command + shift + o sử dụng trong Xcode, dùng để mở một dialog có tên gọi "Open quickly", nơi mà chúng ta có thể di chuyển đến ngay file có tên chứa từ khóa nhập vào. Tuy nhiên, tôi sẽ bật mí với các bạn một điều nữa là chúng ta có thể jump thẳng đến một dòng bất kì của file đấy bằng cách thêm dòng cần đến đằng sau dấu hai chấm. Như sau, AppDelegate:44.

Hãy thử xem, các bạn sẽ thấy sự kì diệu 😎

7. Where to Open a File

Trong Xcode, bạn có thể mở một file bằng rất nhiều cách, bạn có thể mở một file trong standard editor, hoặc mở trong assistant editor, hay mở trong tab mới hoặc tab hiện tại, hoặc thậm chí là trong một cửa sổ mới. Sau đây là cách mà chúng ta lựa chọn: Nhấn giữ tổ hợp phím ⇧ + ⌥ + ⌘ (Shilf + Option + Cmd) rồi click chuột vào file cần mở, một dialog như sau sẽ hiện ra để chúng ta lựa chọn.

Tùy các lựa chọn mà các file sẽ hiển thị ở các vị trí khác nhau trong trình edit:

8. Git Blame

Nếu đang làm việc với Git, đã bao giờ bạn muốn tìm xem kẻ nào đã gây ra những dòng code đầy tội lỗi? =)) Đặt con trỏ chuột vào dòng code nghi vấn, chuột phải và chọn Show Last Change For Line.