เปิด App Store หน้าแอปที่ต้องการจากแอป iOS
ใช้ Deep Link URL รูปแบบ itms-apps:// หรือ https://apps.apple.com
ขั้นตอนที่ 1: สร้างโปรเจกต์
Xcode → Single View App → ชื่อ "OpenAppStore"
ขั้นตอนที่ 2: เพิ่ม Button และ IBAction
Button Title: "Open App Store" → IBAction: openAppStoreClicked
ขั้นตอนที่ 3: โค้ดเปิด App Store
รูปแบบใหม่ (iOS 11+) - ใช้ https
@IBAction func openAppStoreClicked(_ sender: Any) {
// รูปแบบ: https://apps.apple.com/app/id
let appID = "284882215" // Facebook App ID
let urlString = "https://apps.apple.com/app/id\(appID)"
guard let url = URL(string: urlString) else { return }
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url, options: [:], completionHandler: nil)
}
}
รูปแบบเก่า (ยังใช้ได้) - itms-apps
let urlString = "itms-apps://itunes.apple.com/app/id\(appID)"
หา App ID ได้ที่ไหน?
- App Store Connect → App Information → Apple ID
- URL ของแอปใน App Store:
https://apps.apple.com/app/id - เว็บไซต์:
https://itunes.apple.com/lookup?id=
ขั้นตอนที่ 4: รันทดสอบ
กดปุ่ม → App Store เปิดหน้าแอป Facebook (หรือแอปของคุณ)
กรณีใช้งานทั่วไป
1. Rate Us / Review Prompt
func openAppStoreForReview() {
let urlString = "https://apps.apple.com/app/id\(appID)?action=write-review"
// ?action=write-review เปิดหน้า Review ทันที
}
2. เปิดหน้า Developer (Apps by this Developer)
let urlString = "https://apps.apple.com/developer/id"
3. ใช้ SKStoreProductViewController (In-App Store)
แสดง App Store ภายในแอป ไม่ต้องออกไปนอกแอป
import StoreKit
let storeVC = SKStoreProductViewController()
storeVC.delegate = self
storeVC.loadProduct(withParameters: [SKStoreProductParameterITunesItemIdentifier: appID]) { success, error in
if success {
present(storeVC, animated: true)
}
}
// Delegate
func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
viewController.dismiss(animated: true)
}
สรุป
| วิธี | เหมาะสำหรับ |
|---|---|
| UIApplication.open (https) | เปิด App Store แบบธรรมดา, Rate Us |
| SKStoreProductViewController | In-App Purchase Flow, Cross-promotion |
| itms-apps:// | Legacy Support, Deep Link เฉพาะเจาะจง |