SKStoreReviewController.requestReview()를 통하고 있는데 리뷰 의뢰 화면이 표시되지 않을 때의 체크 사항

2643 단어 SwiftSwift4swift3

먼저 결론



SKStoreReviewController.requestReview()를 발화시켜도 팝업이 표시되지 않는 경우에 가능한 원인은

1. 단말기의 시간을 변경하고 있습니다.
2. 네트워크 통신이 불가능합니다.
3. TestFlight를 통해

리뷰를 배포 테스트하려면 프로모션 코드를 통해 테스트하세요.

개요



iOS 10.3 이상에서 사용 가능
Apple이 공식적으로 제공하는 리뷰 소구용 API
SKStoreReviewController

표시하는 것은 매우 간단하고 아래와 같이 한 줄 쓰면 됩니다.

ViewController.swift
import UIKit
// ↓これをimport
import StoreKit

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        // これで発火
        SKStoreReviewController.requestReview()
    }
}



이런 식으로 나타납니다.


이 화면은 애플에 api로 문의하여 표시하고 있습니다.
그 때문에, 메소드를 발화시켜도 팝업을 표시시키려면
api 통신으로 성공하고 표시하기 위해 결과가 반환되어야합니다.

이 때, 권외이면 당연히 결과가 돌아오지 않기 때문에 표시가 되지 않고,
또 단말의 시간이 현재 시각으로부터 변경되고 있으면 표시되지 않습니다.
(시도하면 대체로 전후 5일 이상 어긋나 있다고 표시되지 않는다)

TestFlight를 통해서도 이 팝업은 표시되지 않습니다.
htps : //에서 ゔぇぺぺr. 아 ぇ. 코 m / 도쿠 멘 타치 온 / s 토레 키 t / sks 토레레

When you call this method while your app is still in development mode, a rating/review request view is always displayed so that you can test the user interface and experience. However, this method has no effect when you call it in an app distribute using TestFlight.

사내 등의 테스트 배포로
이 팝업을 확인하려면
프로모션 코드를 이용해 실시하면 가능한 것 같습니다.

결론(재게재)



SKStoreReviewController.requestReview()를 발화시켜도 팝업이 표시되지 않는 경우에 가능한 원인은
  • 단말기의 시간을 변경하고 있습니다
  • 네트워크 통신이 불가능합니다
  • TestFlight를 통한
  • 리뷰를 배포 테스트하려면 프로모션 코드를 통해 테스트하십시오

  • "메소드를 통과하고 있지만 화면이 표시되지 않는다"고
    디버깅에 시달리기 전에 기억해 주시면 좋겠습니다.

    좋은 웹페이지 즐겨찾기