mirror of
https://github.com/UrbanApps/Armchair.git
synced 2026-03-29 05:41:57 +02:00
Add support for iOS 10.3 review prompt
Added an option to use SKStoreReviewController review prompt instead of the default prompt. If it’s not available (below iOS 10.3), just use the default prompt.
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user