Jak wykryć, w której aplikacji używana jest moja niestandardowa klawiatura i wyświetlać inny przycisk? E.g. na Twitterze dodałbym @ do napisu I wstawił do pola wejściowego iw Reddit/r/W niestandardowej klawiaturze iOS wykryj aplikację
Odpowiedz
Nie jest to możliwe. Rozszerzenie działa pod piaskownicą i pobiera tylko informacje z interfejsu API i nie ma dostępu do niczego innego. Klawiatura może odbierać tylko zmiany kontekstu tekstu i aktywować/dezaktywować połączenia. Wykrywanie aplikacji leży poza obszarem piaskownicy rozszerzającej i dlatego jest niemożliwe.
u prawo, ale istnieje obejście (sprawdź komentarze powyżej) –
'self. textDocumentProxy.keyboardType' powinien działać. – Schemetrical
Jest to możliwe poprzez następujący kod. Jak dostaniesz identyfikator pakietu aplikacji, w której używasz niestandardowego klawiaturę ..
Swift
let hostBundleID = self.parentViewController!.valueForKey("_hostBundleID")
let currentHostBundleID = String(hostBundleID)
print(currentHostBundleID);
Od identyfikatorem wiązki można łatwo znaleźć nazwę aplikacji.
Powodzenia!
- 1. Wykryj aplikację iOS wchodzącą w tło
- 2. IOS Customkeyboard. Jak ustawić znak specjalny w niestandardowej klawiaturze
- 3. Ustaw tryb klawiatury w niestandardowej klawiaturze Androida
- 4. Wyskakuj o naciśnięciu klawisza w niestandardowej klawiaturze
- 5. Wykryj moją aplikację na iOS jako przeglądarkę internetową
- 6. Wykryj wklejanie sugestii iOS 8
- 7. Wykrywanie zmian typu klawiatury w niestandardowej klawiaturze dla systemu iOS 8
- 8. Wykryj zmiany rotacji w systemie iOS
- 9. Wykryj Symulator iOS a urządzenie iOS
- 10. podświetlić przycisk "powrotu" na klawiaturze iOS
- 11. Wykryj tryb samolotowy na iOS
- 12. iOS UICollectionView wykryj kierunek przewijania
- 13. Wykryj, czy iOS używa webappa
- 14. Uruchom aplikację Metro z niestandardowej powłoki
- 15. Wykryj kraj iTunes Store w iOS
- 16. iOS - Wykryj przedmuch i sprawdź wyniki! (swift)
- 17. Wykryj własną aplikację Android: kod wersji w czasie wykonywania
- 18. Wykryj pierwszą instalację w systemie iOS NOT NSUserDefaults
- 19. Wewnętrznie dystrybuować aplikację na iOS
- 20. Jak zmienić kolor klawiszy w klasie KeyboardView w niestandardowej klawiaturze Androida?
- 21. Zainstaluj aplikację na iOS w symulatorie xcode?
- 22. Mowa na aplikację tekstową w iOS?
- 23. Jak otworzyć aplikację w Ustawieniach iOS 11
- 24. iOS: Jak wykryć klawisze escape/control na sprzętowej klawiaturze Bluetooth?
- 25. Używanie niestandardowej czcionki w UIWebView
- 26. IOS, UIView, Wykryj ukryte zmiany stanu w podglądzie
- 27. Wykryj drgania w Safari na iOS z JavaScriptem?
- 28. Animowanie niestandardowej wysokości klawiatury w systemie iOS 8
- 29. iOS - Jak korzystać z dziedziczenia w komórce niestandardowej?
- 30. Czy istnieje prywatny interfejs API, dzięki któremu można wykryć bieżącą aplikację na pierwszym planie na iOS?
Jak powiedział Schemetrical, nie możesz określić aplikacji, w której się znajdujesz (przynajmniej nie jesteś * przypuszczalnie * być w stanie być, i prawdopodobnie każda zamieszczona tutaj odpowiedź będzie uważana za lukę i zostanie naprawiona przez Apple), ale * możesz * wiedzieć, że jesteś w polu tekstowym stylu Twitter i odpowiednio reagować, co może być lepsze niż znajomość aplikacji, ponieważ są wbudowane interfejsy API do publikowania na Twitterze, które mogą być używane z dowolnej aplikacji . –
@BenPious dzięki za inspiracje! Doceniam wszelkie wskazówki dotyczące "pola tekstowego w stylu Twittera" –
Masz dostęp w interfejsie API do obiektu (nie pamiętam), który implementuje ten protokół: https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITextInputTraits_Protocol/ –