Mit WatchKit haben Sie Ihre App, die auf dem Telefon läuft, und die Watch-App, die als Erweiterung läuft.iOS WatchKit - wie Sie feststellen, ob Ihr Code in der Watch-Erweiterung oder der App läuft
Wenn Sie eine Bibliothek erstellen, die gemeinsamen Code enthält, der sowohl in der Telefon-App als auch in der Überwachungserweiterung verwendet werden soll, gibt es eine Möglichkeit zu ermitteln, ob der Code in der Telefon-App oder der Wache-Erweiterung ausgeführt wird?
I.e.
if ([self isRunningInWatchExtension]) {
NSLog(@"this is running on watch");
} else {
NSLog(@"this is running on phone app");
}
- (BOOL)isRunningInWatchExtension {
???
}
Dies funktioniert für die gestellte Frage. Ich habe die Frage nicht richtig formuliert, um meine Bedürfnisse zu erfüllen. In meinem Fall entwickle ich eine Bibliothek, die von anderen Anwendungen verwendet werden kann, sowohl in der Watch-Erweiterung als auch in der Haupt-App. Ich kann mich nicht auf Bündel-Identifikatoren verlassen, da die Entwickler sie benennen können, was immer sie wollen. –
Vielleicht etwas, das überprüft, ob eine eindeutige Klasse existiert? Wie 'BOOL isExtension = (NSClassFromString (@" WKInterfaceDevice ")! = Nil);' –