SKStoreProductViewController를 표시하고 일부 제약 조건 충돌이 발생합니다. 이전에 - 활성화 된 제약 조건이 다시 활성화되었음을 확인할 수 있습니다. 나는 이것이 왜 일어나야하는지 알 수 없다.SKStoreProductViewController를 표시하면 비활성 제약 조건이 다시 활성화됩니다.
읽고 편의를 위해 *** ———>
<———— ***
으로 표시된 아래를 참조하십시오.
내가 생각할 수있는 유일한 가능성은 다음과 같습니다. 내 앱이 가로 전용이므로 SKStoreProductViewController.shouldAutorotate의 하위 클래스를 false로 설정해야합니다.
class MyProductViewController : SKStoreProductViewController {
override var shouldAutorotate: Bool {
return false
}
}
func openStoreProduct(identifier: String) {
let storeViewController = MyProductViewController()
storeViewController.delegate = self
let parameters = [ SKStoreProductParameterITunesItemIdentifier : identifier]
storeViewController.loadProduct(withParameters: parameters) { [weak self] (loaded, error) in
if loaded {
print("In: \(self?.myConstraint.isActive)")
// *** ———> Prints "In: false". <——— ***
self?.present(storeViewController, animated: true) {
}
}
}
func productViewControllerDidFinish(_ viewController: SKStoreProductViewController) {
print("Out: \(self.myConstraint.isActive)")
// *** ———> prints "Out: true" <——— ***
viewController.dismiss(animated: true, completion: nil)
}
StoreViewController가 상당히 많은 레이아웃 속성을 사용하여 엉망이되거나 돌아 오는 것으로 나타났습니다. 이를 보완해야합니다 (예 : 해킹). 위의 경우 IB에서 제약 조건을 제거하면 문제가 해결됩니다. 귀하의 질문에 대한 답변이 활성화되면 완전한 해결책을 제시합니다. –