Language

Best practice: Quy trình quét BLE nâng cao trên iOS

Các nhà phát triển iOS đang xây dựng các ứng dụng đóng vai trò cả Peripheral và Central để trao đổi dữ liệu với các bản sao ứng dụng khác. Dữ liệu có thể trao đổi một lượng nhỏ thông tin thông qua các gói tin BLE hoặc giá trị chỉ báo cường độ tín hiệu (RSSI) từ thiết bị này sang thiết bị khác. Tuy nhiên, việc giữ ứng dụng chạy mãi ở foreground là không thể. Sớm hay muộn, ứng dụng sẽ chuyển sang chế độ background bởi người dùng và cuối cùng sẽ bị hệ thống tạm dừng tùy thuộc vào RAM khả dụng, mức tiêu thụ năng lượng và các yếu tố khác. Do đó, việc hiểu quy trình advertising và scanning trên thiết bị iOS giúp bạn xây dựng các ứng dụng tốt đáp ứng kỳ vọng của bạn.
Ở cuối hướng dẫn này, chúng ta sẽ xây dựng một ứng dụng đơn giản hoạt động vừa là scanner vừa là advertiser. Khi hai ứng dụng tìm thấy nhau, chúng sẽ ghi một bản ghi log để phân tích. Dựa trên kết quả, chúng ta sẽ tìm hiểu xem ứng dụng của mình sử dụng Core Bluetooth hiệu quả như thế nào.
Hãy bắt đầu thôi!

Read More

iOS: Giới thiệu Stack Views Lập trình

Khi kỹ năng phát triển iOS của bạn đang phát triển, tôi tin rằng bạn sử dụng UIScrollView, UICollectionView, UITableView, và các view native khác thường xuyên và thành thạo trong các ứng dụng của mình. Tuy nhiên, một số iOS developer vẫn không biết chính xác UIStackView là gì, nó được sử dụng cho mục đích gì hoặc trong tình huống nào chúng ta nên sử dụng UIStackView.
Trong tutorial này, tôi sẽ giới thiệu cho bạn UIStackView - Một view giúp chúng ta đơn giản hóa các layout iOS.

Hãy tưởng tượng bạn đang xây dựng một ứng dụng cho phép người dùng thêm hoặc xóa các view trong runtime. Nhớ cách chúng ta sẽ hoàn thành tác vụ này? Đầu tiên chúng ta phải xóa tất cả các constraint trong vùng liên quan và cập nhật lại tất cả. Hoặc nhớ trường hợp bạn triển khai view đăng nhập / đăng ký, bạn thêm nhiều text field và thiết lập constraint thủ công giữa các view đó. Trong những tình huống như vậy, UIStackView tỏ ra hữu ích hơn các view khác.

Read More

Tất Tần Tật Về Alamofire

Nếu bạn từng có cơ hội làm việc với networking trên iOS, chắc chắn bạn đã nghe về Alamofire, một thư viện networking được viết bằng Swift cho iOS và MacOS. Nó đơn giản hóa tất cả các công việc networking phổ biến trong ứng dụng của bạn.
Nếu bạn chưa gặp Alamofire, đừng lo, hướng dẫn này sẽ giới thiệu cho bạn tất cả các tác vụ mà Alamofire có thể xử lý cho bạn. Nếu bạn đã quen thuộc với nó, không sao, hãy coi bài viết này như một bản tóm tắt và tập trung cho cẩm nang Alamofire của bạn.
Hãy bắt đầu nào!

Sắp ra mắt!

Read More

Review sach: Building Applications With iBeacon

Trong bai viet truoc, toi da gioi thieu so luoc ve iBeacon - Mot giao thuc Bluetooth duoc xay dung tren nen tang BLE boi Apple, va tao mot demo don gian ve cach iBeacon co the danh thuc mot ung dung sau khi bi nguoi dung tat. Tuy nhien, toi chua de cap den cac khai niem nen tang khac trong Beacon, no cung khong cho ban cai nhin sau ve cac uu diem va nhuoc diem cua cong nghe manh me nay.
Hom nay, toi muon gioi thieu cho ban mot cuon sach tot cung cap kien thuc vung chac trong linh vuc Beacon, dac biet la iBeacon: Building Applications With iBeacon xuat ban boi O’Reilly.
Sau khi doc cuon sach nay, toi dam bao rang ban se co duoc kien thuc tot trong linh vuc iBeacon va tam tri cua ban se coi mo hon voi cac y tuong sap toi.
Bat dau thoi!

Read More

iOS Concurrency Nâng Cao: Async Operations [2]

Trong bài viết trước, iOS Concurrency Nâng Cao: Operations, chúng ta đã đi qua các khái niệm về Operation trên iOS và xây dựng một ứng dụng demo để tải một số bài viết của tôi. Sau khi tải các hình ảnh bìa, chúng sẽ được áp dụng một filter đơn giản, sau đó được hiển thị trong table view. Tuy nhiên, ứng dụng vẫn chưa hoàn thiện. Có điều gì đó không đúng với ứng dụng của chúng ta khiến nó không hiển thị đúng các hình ảnh đã tải. Trong hướng dẫn này, chúng ta sẽ tiếp tục từ nơi đã dừng lại.
Sẵn sàng nào!

Read More

iOS Concurrency Nâng cao: Operations [1]


Có hai kỹ thuật để xử lý Concurrency trong iOS: GCD - Grand Central Dispatch và Operations. Hầu hết thời gian, GCD cung cấp hầu hết các khả năng concurrency mà bạn cần. Tuy nhiên, đôi khi bạn sẽ muốn một số tùy chỉnh nâng cao bổ sung. Đó là lúc để sử dụng Operations. Tutorial này sẽ giới thiệu Operations trong Swift, cũng như giải thích khi nào và tại sao chúng ta sử dụng Operation thay vì GCD.
Hãy chuyển số!

Có một khoảng cách lớn giữa việc biết con đường và đi qua con đường.

Read More

Xây dựng trang cá nhân của bạn với Hexo


Khi tôi xây dựng trang web cá nhân này, mục tiêu đầu tiên của tôi là tận hưởng sở thích viết lách. Tôi viết bất cứ điều gì tôi học được trong công việc hàng ngày, và chia sẻ nó. Tôi hy vọng những chia sẻ của tôi sẽ giúp ai đó khi họ cần. Đổi lại, tôi sẽ có hiểu biết sâu hơn về những gì tôi viết, và đôi khi, nhận được “một ly cà phê” (Buy me Coffee) từ một người bạn tôi chưa từng gặp.

Sức mạnh đạt được bằng cách chia sẻ kiến thức, không phải bằng cách tích trữ nó

Một số bạn bè đến hỏi tôi cách xây dựng một trang như của tôi. Tôi rất vui được chia sẻ với bạn cách tôi xây dựng nó.
Sau hướng dẫn này, bạn có thể xây dựng trang web của riêng mình trong vòng 5 phút.
Tôi hy vọng sớm thấy trang web của bạn ra mắt!

Read More

Beta Test và TestFlight


Là một iOS developer, bạn có thể đã nghe về TestFlight - một sản phẩm của Apple cho phép bạn phân phối ứng dụng của mình đến người dùng beta. Vậy chúng ta có thể làm gì với nó? Nó có hữu ích không?
Trong hướng dẫn này, chúng ta sẽ đi qua các bước tải một build lên TestFlight, và mời người dùng test ứng dụng của bạn.
Bạn cũng cần tham khảo bài viết trước Đưa ứng dụng của bạn lên Store để hoàn thành hướng dẫn này.
Hãy bắt đầu!

Read More

Review sach: Swift Apprentice - Raywenderlich


Khi toi dang tim kiem mot cuon sach de nang cao ky nang phat trien iOS, toi tim thay cuon Swift Apprentice nay tren cua hang sach cua Raywenderlich. Xem qua noi dung cua cuon sach, toi quyet dinh them cuon sach vao thu vien cua minh.
Noi chung, neu ky nang iOS cua ban la mid-level hoac senior, ban rat tu tin voi ky nang lap trinh bac thay cua minh, cuon sach nay khong danh cho ban. Nhung neu ban dang tim kiem mot cuon sach de cung co kien thuc, hoac ban chi muon dam bao moi thu ban hieu ve ngon ngu Swift la dung - nhu muc dich cua toi, thi hay mang cuon sach nay theo.
Ban se hoc ve nhung thu rat co ban nhu function, method, constants, control statement, v.v. Ban cung se co co hoi co duoc kien thuc sau ve Stack/Heap allocation, protocol-oriented programming, va generic programming, dieu nay lam cho cong viec hang ngay cua ban thuan tien hon, va ban se thay minh nhu mot bac thay trong ngon ngu Swift.
Bat dau thoi!

Read More