Phát triển

Thiết Kế DMG Phân Phối Cho Ứng Dụng macOS (2): Tọa Độ Layout Cửa Sổ và Biểu Tượng, và Tự Động Hóa

Hoàn Thiện Layout DMG Bằng Tọa Độ Ở Phần 1, chúng ta đã giới thiệu công cụ create-dmg và chuẩn bị thư mục staging chỉ chứa .app cùng với ảnh nền. Bây giờ là mảnh cuối cùng, layout. Mở cửa sổ DMG lớn bao nhiêu, và đặt biểu tượng ứng dụng và phím tắt Applications ở đâu — tất cả điều này được quyết định bởi tọa độ bạn truyền cho create-dmg. Trong bài viết này, chúng ta sẽ thiết kế những tọa độ đó từng cái một. ...

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

Thiết Kế DMG Phân Phối Cho Ứng Dụng macOS (1): create-dmg và Chuẩn Bị Ảnh Nền

Màn Hình Đầu Tiên Người Dùng Thấy Khi bạn tự phân phối ứng dụng macOS, người dùng tải file .dmg và nhấp đúp vào nó. Lúc đó, một cửa sổ Finder duy nhất mở ra. Cửa sổ này là màn hình đầu tiên nơi người dùng gặp ứng dụng của bạn. Cửa sổ .dmg được thiết kế tốt thường trông như thế này — ảnh hướng dẫn lấp đầy nền, biểu tượng ứng dụng ở bên trái, và phím tắt đến thư mục Applications ở bên phải. Người dùng hoàn tất việc cài đặt bằng cách kéo biểu tượng ứng dụng sang Applications. Luồng “kéo để cài đặt” này thực chất là trải nghiệm cài đặt tiêu chuẩn cho các ứng dụng macOS indie. ...

20 tháng 5, 2026 · 9 phút · 1709 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 (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 繁體中文