2017-10-17 4 views

Antwort

1

Es ist nicht möglich, etwas über die SKStoreReviewControllerdirekt herauszufinden.

Die following post explains mehr über, wie die Ansicht dargestellt wird & kann Ihnen helfen, zu verstehen, warum.

Allerdings Ich mag diese Antwort nicht, also habe ich eine Variation Ihres Kommentars getestet und konnte genau feststellen, wann der Bildschirm entlassen wurde.

Das Folgende ist eine sehr nackten Knochen-Anwendung, die dies veranschaulicht:

import UIKit 
import StoreKit 

class ViewController: UIViewController { 
    @IBOutlet weak var testView: TestView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     testView.isUserInteractionEnabled = false 
    } 

    @IBAction func submit(_ sender: UIButton) { 
     testView.isUserInteractionEnabled = true 
     SKStoreReviewController.requestReview() 
    } 
} 

class TestView: UIView { 
    override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { 
     super.touchesBegan(touches, with: event) 

     print("touch") 
    } 
} 

Was ist hier los ist, dass ich einen Blick auf mein Haupt-Bildschirm haben, die nur mit, nachdem die Aufforderung interagiert werden kann angezeigt wird. Sie sollten es natürlich so aufräumen, dass es nach dem ersten Erfolg keine Eingaben mehr empfängt, aber dies benachrichtigt mich über die Benutzerinteraktion mit der App , nachdem die Anforderung abgewiesen wurde.

+0

Wie würde ich ein unscharfes Bild im Hintergrund für diesen Controller hinzufügen? –

+0

@RodrigoRuiz Vorausgesetzt, Sie wissen, wann es im Voraus präsentiert wird, können Sie den Bildschirm vor der Präsentation verwischen. Sobald dies erledigt ist, können Sie nach Benutzerinteraktion mit dem Bildschirm suchen, um die Unschärfe zu entfernen. Das wäre eine Möglichkeit, um zu folgern, dass der Bildschirm abgelehnt wurde. – CodeBender

+0

@RodrigoRuiz Meine Antwort wurde auf etwas aktualisiert, das jetzt Ihr Problem abdecken sollte. – CodeBender

Verwandte Themen