この問題は、古い環境で何度も聞かれましたが、iOS 11.2を実行しているデバイスで@ mbelskyのanswerを実行しようとすると、デバイスブロックではなく、シミュレータでコードを実行すると、シミュレータは期待通りに動作します。iOS 11のシミュレータまたはデバイスで実行中のアプリケーションを検出するかどうかを確認する
@IBOutlet weak var testSimulatorFlag: UILabel! {
didSet {
#if IOS_SIMULATOR
testSimulatorFlag.text = "Compiler thinks this is a simulator"
#else
testSimulatorFlag.text = "Compiler thinks this is a device"
#endif
}
}
これはどのようにプロジェクトのスウィフト、コンパイラのスクリーンショットで、カスタムフラグが設定されている:
Hereは、問題を示すサンプルプロジェクトです。事前に感謝の意を表します。
@AshvinGudaliyaが、私はその質問の認識していますが、古い質問への提案の答えは私のために働いていないので、私は新しい質問を求めています。 – Blake
https://stackoverflow.com/a/37124071/1187415の指示に正しく従っていますか?私が間違っていない限り、iOS Simulator SDKだけでなく、Debug設定のカスタムフラグを定義しました。 –
@MartinR、私はカスタムフラグを正しく実装していることを確認するスクリーンショットを追加しました – Blake