>

다음 코드는 iPhone 5S, iPhone 8, iPhone X 및 iPhone XS 및 모든 iPad의 시뮬레이터에로드됩니다.

이 코드는 실제 8 Plus 장치에도로드됩니다.

iPhone XR, XS Max 및 8 Plus 용 시뮬레이터에서 코드가 충돌합니다.

이 오류 메시지는 해당 시뮬레이터 크기의 충돌과 함께 나타납니다 : " [Snapshotting] Snapshotting a view (0x615000095e00, UIView) that has not been rendered at least once requires afterScreenUpdates:YES. "

코드는 다음과 같습니다.

let storeViewController:SKStoreProductViewController = SKStoreProductViewController();
storeViewController.modalPresentationStyle = .pageSheet
storeViewController.delegate = self;
self.present(storeViewController, animated: true, completion: nil);
var productparameters = [String : String]()
productparameters = [SKStoreProductParameterITunesItemIdentifier:appID, SKStoreProductParameterAffiliateToken:"123abc", SKStoreProductParameterProviderToken:"123456", SKStoreProductParameterCampaignToken:campaignName];
storeViewController.loadProduct(withParameters: productparameters, completionBlock: { (success: Bool, error: Error?) -> Void in
            })

충돌 후 때때로이 오류 메시지가 나타납니다 :

어떤 도움이라도 대단히 감사하겠습니다! 두 개의 다른 Mac에서 시도했으며 Xcode를 다시 시작하고 빌드 폴더를 정리 한 후 시뮬레이터의 XR, XS Max 및 Plus 장치에서 지속적으로 충돌합니다.

  • 답변 # 1

    시뮬레이터에 App Store가 없기 때문에 시뮬레이터에서 StoreKit을 사용할 수 없습니다. 물리적 장치가 필요합니다.

    물론, 아마 충돌하지 않아야합니다. 그러나 그것은 Apple 코드의 버그처럼 들립니다. 아마 그들에게 직접보고하는 것이 가장 좋을 것입니다.

    실제 물리적 장치에서 실행하면 제대로 작동합니다!

관련 자료

  • 이전 android - imageview - 기본 소스 이미지의 영구적 인 변경
  • 다음 python : YouTube 믹스 재생 목록을 얻는 방법?