Skip to content
Showing 1-50 of 104 items.
@renovate
Admin 25/02/2021 14:10
Làm hiệu ứng Animation Transition với Swift

Mở đầu Xin chào các bạn hôm này mình sẽ giới thiệu cho các bạn một cách đơn giản để có thể tạo ra hiệu ứng chuyển động trong Swift. Để bắt đầu vào demo thì các bạn hãy tải những ảnh mình sử dụng ở đây. Bắt đầu nào Bây giờ ta sẽ bắt đầu viết các hàm cần thiết vào trong view controller của ta . Storyboard Ở đây ta sẽ thêm vào storyboard các background và thêm vào đó hai UIImageView...

Happy New Year Swift iOS AndroidiOS Animation
@renovate
Admin 05/03/2021 16:50
Tạo hiệu ứng Story của Instagram bằng SwiftUI

Có lẽ chúng ta đã quá quen thuộc với Story ở trên Instagram hoặc trên Facebook. Nó là những video và hình ảnh được liên kết với nhau như một thư viện hình ảnh để kể câu truyện nào đó. Bên cạnh đó, bạn cũng có thể dùng những hình ảnh đã lưu trước đó bên Snapchat để tạo câu truyện bên Instagram. Chính vì thế hôm nay mình sẽ hướng dẫn các bạn tạo hiệu ứng giống như trong Story của...

Happy New Year Swift iOS Mobile SwiftUI
@renovate
Admin 06/03/2021 23:20
[SWIFT] Sử dụng Dependency Injection với Storyboards

1. Lời mở đầu: Dependency Injection (DI) là một kỹ thuật quan trọng giúp cho code của bạn dễ test hơn trong quá trình kiểm thử. Thay vì các objects tự tạo những dependencies hoặc truy cập objects dưới dạng singletons, DI cho phép mọi thứ mà object cần để thực thi công việc của nó nên được truyền từ bên ngoài. Điều này vừa giúp dễ dàng bao quát các dependencies mà object có, và cũng giúp việc kiểm...

Swift iOS Dependency Injection
@renovate
Admin 08/03/2021 07:40
Quản lý self và cancellable trong Combine.

Công việc quản lý bộ nhớ memory management thường trở nên phức tạp khi chúng ta thực hiện các tác vụ bất đồng bộ asynchronous vì chúng ta thường phải lưu giữ một số object nằm ngoài scope mà object được define trong khi vẫn phải đảm bảo được việc giải phóng object đó được thực hiện đúng quy trình. Mặc dù Apple đã giới thiệu framework Combine có thể tham chiếu reference đến các object...

Happy New Year Swift iOS combine
@renovate
Admin 08/03/2021 14:50
Ví dụ về UIActivityViewController

Trên iOS, UIActivityViewController cung cấp giao diện thống nhất để người dùng chia sẻ và thực hiện các hành động trên văn bản, hình ảnh, URL và các mục khác trong ứng dụng. Bạn tạo một UIActivityViewController bằng cách chuyển các mục bạn muốn chia sẻ và bất kỳ hoạt động tùy chỉnh nào bạn muốn hỗ trợ (chúng tôi sẽ hướng dẫn cách thực hiện điều đó sau). Sau đó, bạn present...

Swift iOS Activity UI share
@renovate
Admin 08/03/2021 20:40
Chương 6 Protocol oriented programming.

Cuốn sách này là về lập trình hướng protocol. Khi Apple thông báo swift 2 ở WWDC 2015. Họ cũng định nghĩa swift là ngôn ngữ đầu hướng protocol đầu tiên trên thế giới. Từ cái tên của nó chúng ta cũng giả định rằng lập trình hướng protocol thì tất cả là về protocol. Tuy nhiên đây là giả định sai lầm nhé. Lập trình hướng protocol có nhiều thứ hơn thế. Nó thật sự là một cách mới không...

Swift iOS Mobile Protocol Oriented Programming
@renovate
Admin 10/03/2021 11:10
Swift: Tạo custom phép toán tử (Operator) của riêng bạn!

Swift cho phép bạn tạo các toán tử có thể tùy chỉnh của riêng bạn. Điều này đặc biệt hữu ích khi bạn xử lý các loại dữ liệu của riêng mình. Trong bài viết này, tôi sẽ chỉ cho bạn cách bạn có thể dễ dàng tạo toán tử tùy chỉnh của riêng mình trong Swift. Operator Types in Swift Có năm loại toán tử chính trong Swift. Tất cả các toán tử thuộc một trong các danh mục sau: Toán tử Infix - Sử...

Happy New Year Swift iOS
@renovate
Admin 17/03/2021 14:50
Làm thế nào để tạo ra Universal iOS Static libraries bằng XCFramework

Chắc hẳn các bạn làm dự án về iOS cũng sẽ hay sử dụng các bộ thư viện ngoài nhưng có lúc nào bạn phải tự làm một bộ thư viện để cung cấp cho các dự án khác sử dụng chưa? Tức nhiên sẽ có nhiều giải pháp để làm việc này như CocoaPod. Nhưng nếu yêu cầu là static libraries thì như thế nào? Vấn đề gặp phải Để build một static libraires là một việc rất khó khăn rồi. Tuy nhiên bản...

Swift iOS StaticFramework XCFramework framework
@renovate
Admin 18/03/2021 08:30
Tạo custome view từ file xib một cách chuẩn xác nhất

Việc vẽ view trên storyboard bao giờ cũng trực quan hơn, nhanh hơn so với việc code frame bằng tay. Hôm nay mình sẽ hướng dẫn các bạn cách tạo một view có thể tái sử dụng từ file xib theo cách đơn giản và chính xác nhất. Hãy follow theo các bước sau Bước 1 Tạo một "Persion View" là UIView Bước 2 Tạo file xib đặt tên giống class đã tạo ở bước 1 Hãy vẽ thêm 2 label lastname, first name để...

Swift iOS CustomView
@renovate
Admin 18/03/2021 18:10
Sử dụng Async/Await Swift

Giới thiệu Lập trình với Async cho phép chúng ta kiểm soát được quá trình thực thi luồng. Vì Callback không phải bất cứ lúc nào cũng có thể được gọi. Chúng ta không cần gọi nhiều lần callback để đảm bảo việc timing. Async sẽ giúp ta duy trì một luồng rõ ràng. Mô hình này không phải là mới. Trên thực tế, các ngôn ngữ như C # có tính năng lập trình không đồng bộ trong nhiều năm nay, khiến...

iOS
@renovate
Admin 19/03/2021 01:00
Tạo Virtual Objects Visually trong ARKIT

Tạo Virtual Objects Visually trong ARKIT Thông thường một ứng dụng sẽ có 2 cách để tạo dựng. Thứ nhất là có thể xây dựng mọi thứ bằng code của bạn. Hai là có thể xử dụng ngay trên giao diện trực quan của Xcode, nơi bạn chỉ cần kéo thả mọi thứ. Thông thường khi tạo một đối tượng ảo và hiển thị trong AR View chúng ta xử dụng code swift thông thường sau: let boxNode = SCNNode() ...

iOS virtual objects ARKit
@renovate
Admin 19/03/2021 16:30
Sử dụng Singletons an toàn trong đa luồng và cách sử dụng trong Swift

Khi bắt đầu học trên trường về Design Pattern chúng ta đều biết Singletons Pattern, một pattern rất dễ sử dụng, và được sử dụng rất nhiều khi phát triển một ứng dụng iOS. Hôm nay tôi sẽ giúp các bạn cách sử dụng Singleton an toàn hơn cách các bạn đang dùng Cách sử dụng Singletons Tư tưởng chính của singleton là đảm bảo chúng ta chỉ tạo ra một instance của type được cho trước. Singletons...

Swift iOS Xcode singleton
@renovate
Admin 21/03/2021 11:30
So sánh imperative programming và declarative programming

I. Giới thiệu Trong quá trình làm việc, chắc hẳn đã nhiều lần chúng ta thấy nhắc đến khái niệm imperative programming (lập trình mệnh lệnh) và declarative programming (lập trình khai báo). Tuy nhiên, liệu các bạn có chắc chắn được câu trả lời cho các câu hỏi: 2 loại lập trình này khác nhau chỗ nào? code mình viết ra là lập trình loại nào?… bài viết này sẽ giúp bạn tự tin hơn khi trả lời cho...

Happy New Year Swift iOS declarative programming imperative programming
@renovate
Admin 22/03/2021 10:20
Swift - Access Control - iOS

Access controls thường chủ yếu được hỏi khi bạn đang ở giữa cuộc phỏng vấn technical của mình. Người phỏng vấn muốn biết liệu bạn có thể xác định những phần quan trọng trong code của mình và liệu bạn có thể đảm bảo những đoạn code đó được ẩn hay hiển thị tương ứng với các phần khác trong code base của bạn. Access Controls trong swift là gì? Swift cung cấp 5 kiểu khác nhau của Access...

Swift iOS
@renovate
Admin 22/03/2021 14:10
[SwiftUI] ContextMenu, Sheet (Modals)

ContextMenu cho bạn một cửa sổ bật lên bằng cách nhấn và giữ. Đó là giống y với việc bạn nhấp vào ứng dụng của mình bằng 3D Touch. ContextMenu không yêu cầu bật 3D Touch, nó kích hoạt đơn giản bằng cách nhấn và giữ. A container for views that you present as a menu items in a contextual menu in response to the standard system gesture. Apple Documentation. Trong hướng dẫn này, bạn sẽ tìm hiểu những gì cần thiết...

Swift iOS SwiftUI
@renovate
Admin 08/04/2021 08:20
Future và Subject trong Combine.

Mặc dù Combine đã tập trung vào concept các publisher sẽ emit ra các sequence value theo dòng thời gian cũng như đã cung cấp một số API thuận tiện và đầy đủ chức năng để người sử dụng không cần phải thiết lập tùy chỉnh cho các publisher từ đầu. Lấy ví dụ như khi chúng ta muốn Combine hỗ trợ chúng ta với các API có sẵn như ImageProcessor để xử lý theo completion handle pattern trong closure trong...

Swift iOS combine
@renovate
Admin 05/05/2021 17:10
Custom Property binding with Rxswift.

Khi mới bắt đầu học RxSwift , mình từng gặp source code kiểu custom Property dùng Binder mình cũng không hiểu nó là gì , mình cũng thử tìm hiểu và hôm nay viết 1 bài để giới thiệu và cách dùng Binder trong Rx. 1. Custome property như thế nào ? Khi bạn dùng RxCocoa binding, rất dễ dàng bind value của 1 Observable được emit tới các view trên màn hình var myObservalbe = PublishSubject<Void>() myObservalbe.map{...

iOS May Fest
@renovate
Admin 07/05/2021 08:20
Push Notifications with Firebase in Swift 5

Hôm nay mình sẽ hướng dẫn bạn tạo push notification từ việc tạp appID ,tạo certificate tới việc nhận push bằng cách send Firebase console. Các bước để tích hợp firebase push notification : Tạo APNs certificate trên Apple’s Developer Enable push trên Firebase Cloud Messaging Console Thêm Pod firebase Viết code push notification Send push từ Firebase Notification trong dashboard. I. Tạo file APNs certificate . Note: Step ngắn gọn...

Firebase iOS May Fest push notificate
@renovate
Admin 10/05/2021 08:50
Tùy chỉnh localized trong Swift.

Việc hỗ trợ nhiều ngôn ngữ là một yếu tố cần thiết để App của bạn trở nên phổ biến trên App Store vì chung quy lại thì người sử dụng nào cũng muốn sử dụng ngôn ngữ mẹ đẻ của mình. Chính vì tâm lý này mà Apple đã cung cấp cho chúng ta kha khá API để xử lý các resource như localized với các tuỳ chỉnh cần thiết để chúng ta có thể hiển thị đa ngôn ngữ cho App. Việc render UI cho...

Swift iOS
@renovate
Admin 11/05/2021 10:50
Tạo thư viện Public trên CocoaPods

Bạn có thể đã được hưởng lợi từ các thư viện của bên thứ ba mà người khác đã tạo. Thư viện của bên thứ ba có thể giúp bạn tiết kiệm rất nhiều thời gian khi xây dựng ứng dụng vì chúng là plug and play. Thư viện của bên thứ ba cũng có tên khác với các phần phụ thuộc. Trình quản lý Dependency phổ biến và được sử dụng rộng rãi nhất là CocoaPods. CocoaPods có hơn 82.000 thư viện và...

Swift iOS CocoaPods
@renovate
Admin 12/05/2021 16:20
[SWIFT] Custom Animated Splash Screen in iOS

Môi trường phát triển: Swift Language Version: Swift 5 Xcode: Version 12.1 Deployment Target: 11.0 Bước 1: Create Animation Image View Ta cần chuẩn bị 1 folder jpegs chứa các ảnh định dạng JPG được cắt từ 1 ảnh GIF. Sau đó, tạo class AnimationImageView kế thừa từ UIImageView và protocol AnimationImageViewDelegate protocol AnimationImageViewDelegate: NSObject { func didFinishAnimationImageView() } class AnimationImageView: UIImageView { ...

Swift iOS Animation Splash Screen
@renovate
Admin 15/05/2021 16:50
Sử dụng Spotlight Search cho Indexed Swift App Record

Giới thiệu Spotlight Search cho phép người dùng tìm kiến bản ghi ứng dụng của mình trên thanh Search Bar của iPhone/iPad Kịch bản Ứng dụng của chúng ta sẽ cho phép người dùng thêm, xóa, chỉ định các trường bản ghi trong tiêu chí tìm kiếm của iPhone/iPad Spotlight. Ví dụ như trong ứng dụng Books, Book Title có thể sử dụng làm tiêu chí tìm kiếm Người dùng có thêm lựa chọn để thêm tiêu chí title...

Swift iOS
@renovate
Admin 18/05/2021 12:30
Có gì mới ở RxSwift 6

2020 là một năm đầy biến động toàn cầu. Sang năm 2021, ai ai cũng mong mọi thứ sẽ tốt đẹp hơn khi mà mọi người có thể trở lại cuộc sống bình thường như trước. Và để bắt đầu năm mới 2021, hãy chào đón phiên bản mới của RxSwift: RxSwift 6. Bài viết này sẽ giúp bạn nắm được một cách sơ lược những sự thay đổi ở phiên bản này. Logo mới toanh Không phải thay đổi gì trong code...

Happy New Year iOS RxSwift
@renovate
Admin 21/05/2021 11:10
[SwiftUI] Rotation Animation

Điều kiện tiên quyết Để làm theo hướng dẫn này, bạn sẽ cần một số kiến thức cơ bản về: Cơ bản với Swift. Xcode 11 trở lên. Setup View Chúng ta sẽ tạo một Button và khi bấm sẽ tạo ra các animation. Điều đầu tiên cần làm là tạo một biến để biết nút có đang được nhấp hay không. @State private var isRotated = false Sau đó, bạn sẽ tạo một biến khác đại diện cho Animation để có...

Swift iOS SwiftUI
@renovate
Admin 28/05/2021 16:10
iOS Custom URL Scheme và các vấn đề bảo mật liên quan

Trong quá trình phát triền các ứng dụng iOS, hẳn chúng ta không lạ gì với khái niệm về custom URL scheme. Là một trong các phương thức Interprocess call (IPC) được áp dụng trong iOS, custom URL scheme giúp các nhà phát triển ứng dụng có thể gọi tới các chức năng khác nhau của ứng dụng từ một ứng dụng khác. Tính tiện dụng của tính năng này rất rõ ràng, vậy các vấn đề bảo mật của nó thì sao?...

iOS May Fest custom url
@renovate
Admin 07/06/2021 09:30
Tìm hiểu về Kotlin Multiplatform Mobile

Kotlin Multiplatform Mobile (KMM) là một SDK được thiết kế để làm đơn giản hoá việc tạo ứng dụng trên nhiều môi trường khác nhau. KMM hỗ trợ những hệ điều hành di động như: Ứng dụng và các thư viện Android Android NDK trên ARM32 và ARM64 Apple iOS trên ARM64 (iPhone 5 trở lên), ARM32 (các máy cũ hơn) và máy ảo Apple watchOS trên ARM64 (Apple Watch Series 4 và mới hơn), ARM32 (các dòng máy cũ hơn) và máy...

iOS Kotlin Android
@renovate
Admin 09/06/2021 08:30
Những điểm cần lưu ý khi sử dụng enum trong Swift.

Enum là một trong những API mạnh mẽ được yêu thích nhất trong Swift. Thực tế là trong Swift thì Enum được phát triển cẩn thận để người dùng có thể sử dụng trong nhiều trường hợp với nhiều type khác nhau. Tuy nhiên vẫn có một số loại trường hợp chúng ta cần tránh khi sử dụng Enum vì rất có thể chúng ta sẽ tự làm chúng ta trở nên ngớ ngẩn cũng như việc code trở nên khó đọc khó...

Swift iOS
@renovate
Admin 11/06/2021 12:30
Các Modifier và View mới trong SwiftUI iOS 15

Khám phá một số tính năng mới nhất trong SwiftUI Chào mọi người. Hôm nay tôi sẽ nói về các tính năng được công bố tại WWDC mà tôi thấy quan trọng trong SwiftUI. Và tôi muốn chỉ ra rằng tôi sẽ chỉ đề cập ngắn gọn đến các chủ đề. Nếu bạn muốn biết thêm thông tin về SwiftUI, hãy xem tài liệu của Apple. Trong ví dụ của chúng ta, tôi sẽ sử dụng mô hình này: struct User : Identifiable{ ...

Swift iOS SwiftUI
@renovate
Admin 11/06/2021 15:30
Tìm hiểu về ARC và cách hoạt động của ARC trong iOS

Xin chào các bạn, khi bạn tiếp xúc về ngôn ngữ lập trình Swift thì chắc chắn bạn sẽ luôn nghe đến khái niệm như là ARC là gì và cách hoạt động ra làm sao... thì mình hi vọng sau bài này sẽ đem lại cho các bạn mới học Swift như mình 1 cái nhìn tổng quát về nó nhé. Giới thiệu ARC. Thì trước tiên đi đến ARC là gì thì mình muốn nói 1 chút về memory management là gì? Thì memory management được...

Swift iOS Memory management
@renovate
Admin 11/06/2021 23:20
Download file từ cơ bản đến nâng cao trong iOS (phần 1)

Introduction Download file là một kỹ thuật quan trọng trong bất kỳ hệ thống nào, giúp ứng dụng có thể linh hoạt sử dụng các resource như: file, ảnh, video... từ trên internet. Trong iOS, download file có nhiều cách, nhưng trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu cách đơn giản và hiệu quả nhất. Đó là dùng URL Loading System. Simple downloads Khi download file đơn giản, không có yêu cầu gì quá đặc...

iOS
@renovate
Admin 12/06/2021 15:50
[SWIFT] How to create Sound Visualizer

Môi trường phát triển: Swift Language Version: Swift 5.0 Xcode: Version 11.1 Deployment Target: 12.0 Ý tưởng: Bài viết hôm nay mình sẽ chia sẻ về cách sử dụng microphone tích hợp để lấy mẫu mức âm thanh theo dB, từ đó trực quan hóa nó trong Swift. Biểu đồ trên chính là sóng âm thanh. Sử dụng Swift, ta có thể bắt mức độ của âm thanh ở bất kỳ thời điểm nào. Ta có thể lấy nhiều mẫu âm thanh khác...

Swift iOS Animation audio visualization
@renovate
Admin 15/06/2021 07:50
Xây dựng Video Call Client sử dụng Vonage SDK

Giới thiệu Bài viết sẽ giới thiếu từng bước để xây dựng Video Call Client sử dụng thư viện Vonage. Yêu cầu hệ thống Có tài khoản Vonage Video API Xocde 12 và Swift 5 trở lên Tạo dự án Vonage Video API Mở trang quản lý Vonage Video API https://id.tokbox.com/ và tạo mới một API project. Lựa chọn codec là VP8 Tạo Session ID, session ID có thể hiểu như một chat room. Tạo Token với Session ID ở bước trên,...

iOS SwiftUI
@renovate
Admin 15/06/2021 13:50
Làm quen với AR trong iOS: Mang mặt trăng vào phòng của bạn

Gần đây mình đang tìm hiểu về AR và 3d rendering trong iOS, và thật sự mình thấy hứng thú với lĩnh vực (gần như) hoàn toàn mới đối với mình này. Mục đích bài viết của mình hôm nay là để giúp các bạn chưa từng làm việc với AR trong iOS có thể làm quen với nó, bằng cách code một ứng dụng giúp mang MẶT TRĂNG vào trong chính căn phòng của bạn. Và không chỉ mặt trăng, mà mặt trời, sao hoả,...

Swift iOS ARKit SceneKit Augmented Reality
@renovate
Admin 19/06/2021 18:00
Performance reload TableView và CollectionView

Trong iOS 13, Apple đã giới thiệu diffable data source và snapshot. Việc reload một cell trong TableView và CollectionView có thể dễ dàng thực hiện qua bằng cách gọi một trong số các function sau: reloadRows(at:with:) // For reloading table view cell reloadItems(at:) // For reloading collection view cell Đối với table và collection views được tạo bằng diffable data source thì điều này không còn đúng nữa. Vậy developer nên reload table...

Swift iOS
@renovate
Admin 19/06/2021 18:10
Cách để reload table và collection view tại những cell có thay đổi dữ liệu

Trong iOS 13, Apple đã giới thiệu diffable data source và snapshot. Việc reload một cell trong TableView và CollectionView có thể dễ dàng thực hiện qua bằng cách gọi một trong số các function sau: reloadRows(at:with:) // For reloading table view cell reloadItems(at:) // For reloading collection view cell Đối với table và collection views được tạo bằng diffable data source thì điều này không còn đúng nữa. Vậy developer nên reload table...

Swift iOS
@renovate
Admin 20/06/2021 15:50
Giới thiệu về Size Class trong iOS

Đây là bài dịch từ trang medium.com. Mời các bạn xem bài gốc tại đây: https://medium.com/@benjamin.font/introduction-to-ios-size-classes-732862ffb45e Size Classes là một công cụ giúp việc xây dựng giao diện người dùng cho các thiết bị iOS dễ dàng hơn. Không phải tất cả mọi người đều biết về sự tồn tại của chúng, vì vậy, dưới đây là một số giới thiệu nhỏ về Size Classes trong iOS. Size Classes là...

iOS size class
@renovate
Admin 21/06/2021 09:40
Async/ await trong phiên bản Swift 5.5

WWDC21 đã kết thúc, nghĩa là phiên bản beta Swift 5.5 đầu tiên sắp ra mắt và nó đi kèm với một loạt các cải tiến - async / await, actors, throwing properties và nhiều cải tiến khác. Hôm nay tôi sẽ giới thiệu đến bạn những thay đổi rất hay liên quan đến việc thực thi các đoạn code bất đồng bộ. Async / Await SE-0296 giới thiệu các hàm không đồng bộ (async) vào Swift, cho phép chúng ta chạy bất...

iOS swift 5.5 async/await
@renovate
Admin 21/06/2021 17:50
[SwiftUI] Sequence Gesture, Exclusive Gesture

Điều kiện tiên quyết Để làm theo hướng dẫn này, bạn sẽ cần một số kiến thức cơ bản về: Cơ bản với Swift. Xcode 11 trở lên. Exclusive Gesture Nó bao gồm cả Tap và Rotate gesture ở đây nhưng ưu tiên xoay hơn. Sẽ tạo ra hai gesture nhưng chỉ xoay mới hoạt động. Để làm như vậy, chúng ta sẽ tạo một số biến. @State var degree = 0.0 @State var isDay = false Với mã bên dưới, Exclusive gesture được...

Swift iOS SwiftUI
@renovate
Admin 21/06/2021 21:00
RxSwift: KVO - Key Value Observing

I. Khái niệm: Key Value Observing hay còn được gọi là KVO là một cơ chế cho phép một Object có thể nghe sự thay đổi của thuộc tính nằm trong đối tượng khác. KVO đặc biệt hữu dụng trong việc kết nối giữa model layer và controller layer (ví dụ như trong mô hình MVC). Controller object sẽ lắng nghe sự thay đổi của Model layer và View layer sẽ lắng nghe sự thay đổi của Controller layer. Một object có thể...

Swift iOS RxSwift KVO Key Value Observing