Merge pull request #92 from ari3l/master

Add support for iOS 10.3 review prompt
This commit is contained in:
Matt Coneybeare
2017-05-07 19:08:42 -04:00
committed by GitHub

View File

@@ -69,6 +69,18 @@ public func reviewTitle(_ reviewTitle: String) {
Manager.defaultManager.reviewTitle = reviewTitle
}
/*
* If set to true, use SKStoreReviewController's requestReview() prompt instead of the default prompt.
* If not on iOS 10.3+, reort to the default prompt.
* Default => false.
*/
public func useStoreKitReviewPrompt() -> Bool {
return Manager.defaultManager.useStoreKitReviewPrompt
}
public func useStoreKitReviewPrompt(_ useStoreKitReviewPrompt: Bool) {
Manager.defaultManager.useStoreKitReviewPrompt = useStoreKitReviewPrompt
}
/*
* Get/Set the message to use on the review prompt.
* Default value is a localized
@@ -870,6 +882,7 @@ open class Manager : ArmchairManager {
fileprivate var tintColor: UIColor? = nil
fileprivate lazy var usesAlertController: Bool = self.defaultUsesAlertController()
fileprivate lazy var opensInStoreKit: Bool = self.defaultOpensInStoreKit()
fileprivate var useStoreKitReviewPrompt: Bool = false
fileprivate func defaultOpensInStoreKit() -> Bool {
return operatingSystemVersion >= 8
@@ -1199,6 +1212,10 @@ open class Manager : ArmchairManager {
}
} else {
#if os(iOS)
if #available(iOS 10.3, *), useStoreKitReviewPrompt {
SKStoreReviewController.requestReview()
return
}
if (operatingSystemVersion >= 8 && usesAlertController) || operatingSystemVersion >= 9 {
/* iOS 8 uses new UIAlertController API*/
let alertView : UIAlertController = UIAlertController(title: reviewTitle, message: reviewMessage, preferredStyle: UIAlertControllerStyle.alert)