私のプロジェクトはCircleCIを使用してユニットテスト用にビルドされており、XCode 8を使用しています。 iOS 11を確認した後でも、がUIView
のiOS 10 SDKに存在しないため、次のコードがクラッシュします。UIViewにプロパティがあるかどうかチェック
if #available(iOS 11, *) {
make.top.equalTo(testView.safeAreaLayoutGuide.snp.top)
}
testView
UIView
です。ここではナビゲーションバーに制約を追加しています。 UIViewにこの特定のプロパティがあるかどうかを確認する良い方法はありますか? safeAreaLayoutGuide
はOptional
ではありません。
エラーメッセージ:タイプの値が 'のUIView' はメンバー を持っていない 'safeAreaLayoutGuide'
エラーメッセージは何ですか? – aaron
可用性を使用することは、Swiftの異なるプラットフォームを確認するための推奨方法です。 Objective Cにいた場合、セレクタへの応答の確認やSDk内の特定のクラスの存在など、他のものがあります。しかし、SWiftの場合、あなたはそれを完全に正しい方法でやっています。使用可能な –
@aaronを使って、エラーメッセージ – DesperateLearner