Apple khác với Microsoft và Google. Trong khi Microsoft và Google không yêu cầu bất kỳ điều gì để có thể cài đặt trên hệ điều hành của họ. Ngược lại, Apple với tư tưởng đóng đã kiểm soát hoàn toàn tất cả các app chạy trên hệ điều hành của mình. Điều đó có nghĩa là nếu app của bạn không được sự cấp phép của Apple thì mọi thứ bạn làm là vô nghĩa. Vì bạn không thể phân phối app được đến nhiều người. Phạm vi phân phối app của bạn chỉ là trên Simulator của bạn.
Mục Lục
Bước 1: Tạo tài khoản Apple ID
Lưu ý: Lưu lại 3 câu hỏi bảo mật khi tạo tài khoản. Vì Apple không cấp lại hoặc nếu có thì cũng rất mất thời gian. Các câu hỏi này được dùng để đăng ký vào chương trình developer.
Ở phần tiếp theo, Apple sẽ yêu cầu tài khoản của bạn phải bật chế độ xác minh 2 lớp (Two-factor Authentication). Khi đó, Apple sẽ yêu cầu các câu hỏi bảo mật (Security Questions). Vì vậy nếu bạn quên mất 3 câu hỏi bảo mật này thì chỉ còn cách là tạo một tài khoản mới.
- Bước 1: Tạo Apple ID
- Bước 2: Bật xác thực 2 lớp (Two-factor Authentication):
- Đối với iOS như iPhone, iPad, iPod:
- Bước 2.1: Thiết bị được tin tưởng (Trusted Device)
- Nếu iOS 10.3 và mới hơn
- Vào Cài đặt/Setting > Tên tài khoản/[your name] > Mật khẩu & Bảo mật/Password & Security.
- Chọn bật xác thực 2 lớp (Two-Factor Authentication.)
- Tiếp tục/Continue
- Nếu iOS 10.2 và cũ hơn
- Vào Cài đặt/Setting > iCloud
- Chọn Apple ID > Mật khẩu & Bảo mật/Password & Security.
- Tiếp tục/Continue
- Nếu iOS 10.3 và mới hơn
- Bước 2.2: Số điện thoại được tin tưởng (Trusted Phone Number)
- Nhập số điện thoại.
- Apple sẽ gửi tin nhắn SMS đến điện thoại của bạn.
- Nhập mã xác thực và hoàn thành.
- Đối với Mac
- Nếu macOS Catalina hoặc mới hơn
- Apple menu > System Preferences > Apple ID.
- Password & Security under your name.
- Bật Two-Factor Authentication.
- Nếu macOS Mojave hoặc cũ hơn
- Apple menu > System Preferences > iCloud > Account Details.
- Security.
- Bật Two-Factor Authentication.
Bước 2: Enrollment: Đăng ký và đóng phí tham gia thành tài khoản Developer
Truy cập link:


Nhập thông tin yêu cầu
Lưu ý: Khai báo chính xác Zipcode của địa chỉ. Zipcode này theo tiêu chuẩn quốc tế
Nếu bạn khai báo không đúng Zipcode của địa chỉ, thì Review team sẽ không cho phép bạn tạo tải khoản. Quá trình Review này sẽ mất 2 ngày. Nếu bị reject bạn sẽ mất thêm 2 ngày nữa để chỉnh sửa Zipcode. Nên đơn giản nhất bạn nên tra cứu chính xác Zipcode của địa chỉ. Các bạn có thể sử dụng Google để tra cứu với từ khoá “Zipcode tên thành phố của bạn”. Ví dụ tôi ở Hà Nội nên tra “Zipcode hanoi”.

Chọn loại tài khoản
Tôi tạo tài khoản cá nhân nên chọn Individual. Các bạn có thể chọn các loại tài khoản theo hình như sau:

Trả phí và hoàn thành
Bước 3: Tạo file CSR bằng Keychain Access
Mở Spotlight: command + space hoặc chuột như hình dưới

Tìm và bật Keychain Access:

Request a Certificate From a Certificate Authority
Chọn menu: Keychain Access > Certificate Assistant> Request a Certificate From a Certificate Authority…

Nhập tên CSR:

Chọn nơi lưu trữ file CSR:

Hoàn thành:

Kiểm tra file CSR:

Mở lại Keychain Access

Export Private Key:

Chọn tên file và nơi lưu trữ:

Nhập mật khẩu bảo vệ file Private Key:

Nhập mật khẩu macOS để xác nhận export:

Tiếp tục export Public Key:

Kết quả cần lưu trữ:

Bước 4: Tạo Certificate
Certificate là gì?
Certificate hay còn được gọi là chứng chỉ là một file mã hoá. Chúng được Apple (một CA) cấp cho người cần được chứng thực. Để cấp được certificate thì người cần chứng thực đã gửi CSR (trong bài trước chúng ta đã biết). Căn cứ vào file CSR thì CA sẽ xác nhận và gửi lại người cần chứng thực một file mã hoá. File đó được gọi là Certificate và có phần mở rộng là “.cer”.
Tại sao lại cần tạo Certificate?
Như bài trước đã viết, để bắt buộc các iOS/iPadOS/MacOS app phải xác thực với Apple. Nói đơn giản là không có sự cho phép của Apple thì app không thể chạy được trên thiết bị của Apple.
Đăng nhập vào trang Apple Developer:

Bấm tạo mới Certificate:

Chọn loại Certificate cho Development và Distribution
Apple chia thành hai loại Certificate là cho giai đoạn phát triển (Development) và dành cho giai đoạn phân phối app lên App Store (Distribution). Hình dưới mô tả việc chọn loại Certificate Development.

Upload file CSR đã được tạo ra trong phần trước

Tải file Certificate

Làm tương tự để có Certificate Distribution
Import 2 file certificate vào Keychain Access
Sau khi có được 2 file Certificate Development, Certificate Distribution, các bạn click đúp vào từng file để import vào Keychain Access. Hình sau mô tả kết quả đạt được của quá trình.

Các bạn vừa tạo thành công 2 file Certificate Development, Certificate Distribution. Cũng như các bạn đã import vào Keychain Access. Các ghi nhớ lưu trữ 2 file certificate vừa tạo ra. Tuy nhiên nếu bị thất lạc bạn hoàn toàn có thể download lại từ trang developer.apple.com
Bước 5: DEVICES
Mỗi một thiết bị của Apple có một ID cho nhà phát triển. Chúng có tên là UUID. Đơn giản là Apple giới hạn số thiết bị có thể cài đặt app trực tiếp cho các nhà phát triển trong quá trình chạy thử nghiệm. Apple giới hạn 100 thiết bị. Để có thể cài đặt trên nhiều thiết bị, bạn cần phân phối app thông qua AppStore.
Chọn Device trên menu
Nhập mã số UDDI của thiết bị
Lấy UDDI của thiết bị như sau
Để lấy được chuỗi duy nhất UDDI của thiết bị bạn kết nối thiết bị với Mac bằng cáp kết nối. Mở khoá iPhone/iPad, chọn tin cậy Mac. Sau đó bật Xcode.


Việc đăng ký Device ID cho tài khoản khá đơn giản. Bạn chỉ việc đăng ký trên website là hoàn thành. Lưu ý để xoá các thiết bị khỏi danh sách test này, bạn chỉ có thể thực hiện tại kỳ gia hạn trong năm kế tiếp.
Bước 6: IDENTIFIERS
Identify hay App Identify, App ID, Bundle ID… là ID duy nhất cho một app của bạn. Mỗi nhà phát triển sẽ có thể có nhiều hơn một app. Do vậy, bạn cần tạo ra các ID khách nhau cho từng app để quản lý.
Chọn Identifies trên menu
Chọn loại cho Identify
Đặt tên và mô tả cho Identify
6Bấm nút Register
Việc tạo Identify cho app khá đơn giản. Bạn chỉ việc đăng ký trên website là hoàn thành.
Bước 7: Provisioning Profile
Provisioning Profile là file chứa chuỗi mã hoá. File này có đuôi mở rộng là “.mobileprovision”. Có hai loại là Provisioning Developer và Provisioning Distribution. Apple bắt buộc bạn phải tạo ra file này và thêm vào project của bạn. Provisioning Profile được dùng để thêm vào project thông qua một quá trình có tên là codesign. sau đây:
Chi tiết của file dành cho phát triển:
Devloper Provisioning Profile = Certificate + Identify + Device
Chi tiết của file dành cho phân phối:
Distribution Provisioning Profile = Certificate + Identify
Chứng nhận Provisioning Profile là cách để Apple chấp nhận ứng dụng của bạn có thể chạy được trên các thiết bị của Apple.
Chọn Profile menu

Chọn loại Profile
Có hai loại Profile là Development và Distribution. Trong ví dụ này chúng ta chọn Devlopment. Với Distribution các bạn làm tương tự.

Chọn App ID

Chọn Certificate

Chọn ID của thiết bị vật lý

Đặt tên file

Tải file về máy của bạn

Bạn có thể bắt đầu sử dụng Provisioning Profile bằng cách tải về và thêm vào dự án của mình.
Xin chào các bạn!
Bài viết này ghi lại vấn đề và cách giải quyết vấn đề của tôi. Cách thức tạo ra bài viết có thể hoàn toàn cá nhân tôi viết hoặc có sự hỗ trợ của AI. Không quan trọng cách nào, miễn là giải quyết được vấn đề. Tôi tin rằng nó giúp được tôi thì cũng giúp được cho các bạn.
Tôi là Minh, sống tại Hà Nội. Tôi là kỹ sư phần mềm với hơn 20 năm kinh nghiệm. Hiện nay, công việc chính của tôi là phát triển các app trên iOS và Android. Các ngôn ngữ và framework yêu thích của tôi là Swift, Objective-C, Java, Kotlin, .NET, HTML, JavaScript, CSS, Bootstrap, jQuery, AngularJS, Angular…
Các bạn có thể tải app của tôi trên App Store hoặc Google Play:
QuestionBank-Ôn thi vào 10: phiên bản iOS, phiên bản Android
TypingTest by QuestionBank: phiên bản iOS, phiên bản Android
Nếu các bạn thấy nội dung có ích hoặc đóng góp ý kiến xin để lại bình luận.
Xin trân trọng và cảm ơn,
Minh