Phát triển

Phát Hành Ứng Dụng macOS Lên Mac App Store (3): Cài Đặt Upload và Đăng Ký App Store Connect

Con Đường Gửi Build Lên App Store Ở Phần 1 chúng ta đã tạo MAS build target, và ở Phần 2 chúng ta đã tạo các file cấu hình và phân nhánh code phân tách hai kênh. Target FocusTimer MAS hiện ở dạng có thể đưa lên App Store. Trong phần cuối này, chúng ta sẽ thiết lập con đường để upload build đó lên App Store Connect, và đề cập đến cách xác minh hai kênh để chúng luôn không bị hỏng, kết thúc series. ...

19 tháng 5, 2026 · 6 phút · 1188 từ · Juhyun Lee
English 한국어 日本語 简体中文 Bahasa Indonesia Español Français Português 繁體中文
Phát triển

Phát Hành Ứng Dụng macOS Lên Mac App Store (2): Tách Cấu Hình và Code Giữa Hai Kênh

Làm Cho Target Thực Sự “Dành Riêng Cho MAS” Ở Phần 1, chúng ta đã đăng ký Bundle ID chỉ dành cho MAS và nhân đôi build target FocusTimer MAS. Nhưng target đó vẫn chỉ là bản sao của target phân phối trực tiếp. MAS build phải khác với build phân phối trực tiếp ở ba điểm. Entitlements — chỉ bộ quyền hạn tối thiểu phù hợp cho App Store Info.plist — bỏ các khóa Sparkle, thêm metadata App Store Code — phân nhánh để biên dịch được ngay cả khi không có Sparkle Trong bài viết này, chúng ta sẽ tách cả ba điều đó. ...

18 tháng 5, 2026 · 8 phút · 1532 từ · Juhyun Lee
English 한국어 日本語 简体中文 Bahasa Indonesia Español Français Português 繁體中文
Phát triển

Phát Hành Ứng Dụng macOS Lên Mac App Store (1): Tạo Build Target Riêng Biệt

Kênh Phân Phối Khác — Mac App Store Series trước đã đề cập đến phần thiết lập một lần để phân phối trực tiếp ứng dụng macOS bằng Developer ID. Khi bạn đã có chứng chỉ, công chứng, cập nhật tự động Sparkle và update feed được lưu trữ, bạn có thể cho người dùng tải file .dmg trực tiếp mà không cần qua App Store. Series này đề cập đến phần thiết lập một lần để đưa cùng ứng dụng đó lên Mac App Store (MAS). Hai phương thức phân phối không phải là sự lựa chọn một trong hai. Bạn có thể vận hành một ứng dụng qua cả kênh phân phối trực tiếp lẫn kênh App Store cùng một lúc. App Store có lợi thế là Apple xử lý thanh toán, hoàn tiền và khả năng hiển thị tìm kiếm thay bạn, và nó mang lại độ tin cậy cao hơn từ người dùng, vì vậy việc chạy song song với phân phối trực tiếp là lựa chọn phổ biến. ...

17 tháng 5, 2026 · 8 phút · 1639 từ · Juhyun Lee
English 한국어 日本語 简体中文 Bahasa Indonesia Español Français Português 繁體中文
Phát triển

Tự Phân Phối Ứng Dụng macOS (3): Lưu Trữ Update Feed và Cài Đặt Build

Mảnh Cuối Cùng — Đặt Bản Cập Nhật Ở Đâu Ở Phần 1 chúng ta đã chuẩn bị chứng chỉ Developer ID và công chứng, và ở Phần 2 chúng ta đã chuẩn bị khóa ký Sparkle. Nghĩa là chúng ta hiện có cách để ký ứng dụng, công chứng nó, và xác minh tính xác thực của bản cập nhật. Nhưng vị trí được trỏ đến bởi SUFeedURL (https://updates.example.com/appcast.xml), mà chúng ta đã viết vào Info.plist của ứng dụng ở Phần 2, vẫn chưa có gì. Trong phần cuối này, chúng ta sẽ lưu trữ update feed cho vị trí đó và hoàn thiện cài đặt build, hoàn tất toàn bộ phần thiết lập một lần. ...

16 tháng 5, 2026 · 9 phút · 1741 từ · Juhyun Lee
English 한국어 日本語 简体中文 Bahasa Indonesia Español Français Português 繁體中文
Phát triển

Tự Phân Phối Ứng Dụng macOS (2): Tạo Khóa Ký Cập Nhật Tự Động Sparkle

Cập Nhật Tự Động, và Lý Do Cần Thêm Một Lớp Ký Nữa Ở Phần 1, chúng ta đã hoàn thành việc thiết lập chứng chỉ Developer ID và công chứng. Với đó, bạn đã sẵn sàng giao ứng dụng cho người dùng lần đầu. Nhưng ứng dụng không kết thúc sau một lần phát hành — bạn phải tiếp tục phát hành các phiên bản mới sửa lỗi và thêm tính năng. ...

15 tháng 5, 2026 · 8 phút · 1630 từ · Juhyun Lee
English 한국어 日本語 简体中文 Bahasa Indonesia Español Français Português 繁體中文