Dzięki WatchKit masz aplikację, która działa w telefonie, oraz w aplikacji do oglądania, która działa jako rozszerzenie.iOS WatchKit - sposób sprawdzania, czy kod działa w rozszerzeniu zegarka lub aplikacji
Jeśli utworzysz bibliotekę zawierającą wspólny kod, który będzie używany zarówno w aplikacji telefonu, jak i rozszerzeniu zegarka, czy istnieje sposób sprawdzenia, czy kod jest uruchomiony w aplikacji telefonu lub w rozszerzeniu oglądania?
tj.
if ([self isRunningInWatchExtension]) {
NSLog(@"this is running on watch");
} else {
NSLog(@"this is running on phone app");
}
- (BOOL)isRunningInWatchExtension {
???
}
To działa na pytanie, które zadano. Nie dość poprawnie sformułowałem pytanie, aby dopasować je do moich potrzeb. W moim przypadku tworzę bibliotekę, która może być używana przez inne aplikacje, zarówno w rozszerzeniu oglądania, jak i głównej aplikacji. Nie mogę polegać na identyfikatorach pakietów, ponieważ programiści mogą nadawać im dowolne nazwy. –
Być może coś, co sprawdza, czy istnieje wyjątkowa klasa? Jak 'BOOL isExtension = (NSClassFromString (@" WKInterfaceDevice ")! = Zero);' –