AltStore – Ứng dụng iOS thay thế cho phép người dùng cài đặt các ứng dụng (.ipa files) vào thiết bị iOS của mình mà không cần jailbreak. AltStore sẽ sử dụng chứng chỉ phát triển cá nhân của bạn để ký lại các ứng dụng và gửi chúng đến ứng dụng máy tính để bàn AltServer, từ đó cài đặt lại các ứng dụng đã được ký vào thiết bị của bạn thông qua kết nối WiFi với iTunes. Để tránh việc các ứng dụng hết hạn, AltStore cũng sẽ định kỳ cập nhật các ứng dụng của bạn trong nền khi kết nối cùng mạng WiFi với AltServer.
AltStore là ứng dụng iOS chuẩn, được giới hạn bởi hệ thống sandbox của iOS. Mục tiêu chính của AltStore là phân phối các ứng dụng mình tạo ra, đặc biệt là Delta – trình giả lập all-in-one cho iOS. Hiện tại, tôi đang làm việc để thêm hỗ trợ cho bất kỳ ai muốn liệt kê và phân phối ứng dụng của mình thông qua AltStore (mọi đóng góp đều được hoan nghênh! 🙂).
Cài đặt ứng dụng qua WiFi sử dụng AltServer
AltStore cho phép bạn cài đặt các ứng dụng thông qua kết nối WiFi với AltServer. Bạn có thể ký và cài đặt bất kỳ ứng dụng nào với Apple ID của mình. AltStore cũng sẽ tự động cập nhật các ứng dụng để tránh hết hạn (khi bạn đang kết nối cùng mạng WiFi với AltServer). Bạn cũng có thể cập nhật các ứng dụng trực tiếp thông qua AltStore.
Yêu cầu hệ thống
- Xcode 15
- Swift 5.9
- iOS 14.0 (AltStore)
- macOS 11.0 (AltServer)
Công nghệ sử dụng
AltStore sử dụng các framework và công nghệ chuẩn của iOS mà hầu hết các nhà phát triển iOS đều quen thuộc, bao gồm:
- Core Data
- Storyboards/Nibs
- Auto Layout
- Background App Refresh
- Network.framework (mới trong iOS 12)
AltServer cũng là một ứng dụng macOS chuẩn, không phức tạp như AltStore, chỉ bao gồm một số tệp tin đơn giản.
AltKit là một framework được chia sẻ giữa AltStore và AltServer, bao gồm các đoạn mã chung cho cả hai ứng dụng.
AltSign là một framework nội bộ được sử dụng bởi AltStore và AltServer để giao tiếp với máy chủ của Apple và ký lại các ứng dụng. Xem thêm thông tin tại dự án AltSign.
Roxas là một framework nội bộ được sử dụng trong tất cả các dự án iOS của tôi, được phát triển để đơn giản hóa nhiều tác vụ thông thường trong phát triển iOS. Xem thêm thông tin tại dự án Roxas.
Cách biên dịch và chạy AltStore và AltServer
AltStore và AltServer khá dễ dàng để biên dịch và chạy nếu bạn đã làm việc với phát triển iOS hoặc macOS. Để biên dịch và chạy AltStore và/hoặc AltServer, bạn có thể làm theo các bước sau:
- Sao chép kho mã nguồn
- Cập nhật các submodule
- Mở AltStore.xcworkspace và chọn dự án AltStore trong khung điều hướng dự án. Trên tab Signing & Capabilities, thay đổi đội từ Yvette Testut thành tài khoản của bạn.
- (Chỉ AltStore) Thay đổi giá trị cho ALTDeviceID trong Info.plist thành UDID của thiết bị của bạn. Thông thường, AltServer sẽ nhúng UDID của thiết bị trong Info.plist của AltStore trong quá trình cài đặt. Khi chạy qua Xcode, bạn cần tự đặt giá trị này, nếu không AltStore sẽ không thể ký lại (hoặc cài đặt) ứng dụng cho thiết bị phù hợp.
- (Chỉ AltStore) Thay đổi giá trị cho ALTServerID trong Info.plist thành serverID của AltServer của bạn. Điều này được nhúng bởi AltServer trong quá trình cài đặt để giúp AltStore phân biệt giữa các AltServer khác nhau trên cùng mạng. Bạn có thể tìm thấy serverID này bằng cách sử dụng một ứng dụng duyệt Bonjour và lưu ý serverID được quảng cáo bởi AltServer. Điều này không cần thiết, vì nếu AltStore không thể tìm thấy AltServer với serverID nhúng, nó vẫn sẽ chuyển sang AltServer khác. Tuy nhiên, điều này sẽ hữu ích trong những trường hợp có nhiều AltServer đang chạy (cộng với các thông báo lỗi cũng dễ hiểu hơn).
- Biên dịch + chạy ứng dụng! 🎉
Giấy phép
Do các phụ thuộc sử dụng trong AltStore có các giấy phép khác nhau, tôi không có lựa chọn nào khác ngoài việc phân phối AltStore theo giấy phép AGPLv3. Tuy nhiên, mục tiêu của tôi cho AltStore là một dự án mã nguồn mở mà bất kỳ ai cũng có thể sử dụng mà không bị hạn chế, vì vậy tôi cho phép mọi người sử dụng, sửa đổi và phân phối mã nguồn gốc của tôi cho dự án này dưới bất kỳ hình thức nào, có hoặc không có sự đề cập, mà không sợ hậu quả pháp lý (phụ thuộc vẫn tuân theo giấy phép gốc của chúng).
Nếu bạn có bất kỳ câu hỏi nào về AltStore, hãy đọc FAQ tại https://altstore.io/faq/.
Email: [email protected]
Mastodon (Ưu tiên): @[email protected]
Twitter (Hiện không hoạt động nhiều): @rileytestut