Jestem zainteresowany użyciem klawiszy SBUsesNetwork
i UIRequiresPersistentWiFi
w mojej aplikacji; jednak chciałbym włączyć je tylko przy użyciu określonego zestawu kontrolerów widoku. Czy istnieje sposób programowo odwrócić te kluczowe wartości, gdy aplikacja jest uruchomiona?Czy mogę programowo odwracać wartości Info.plist, gdy moja aplikacja jest uruchomiona?
Odpowiedz
Nie można modyfikować zawartości pakietu podczas pracy, nie masz uprawnień do zapisu do tego katalogu. Nie jestem pewien, czy istnieje sposób, aby zrobić dokładnie to, co chcesz.
Wiem, że można uzyskać info.plist jako NSDictionary poprzez NSBundle z następujących czynności:
NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];
stamtąd można zrobić mutableCopy
z NSDictionary
i ustawić wartości w nim. Podczas wysyłania zapytań do kluczy musisz upewnić się, że zapytanie do pliku NSDictionary
, a nie do pliku info.plist, nie powinno być trudne, ale nie powinno to być trudne do hermetyzacji w klasie, która obsługuje oba problemy.
Jeśli chodzi o modyfikowanie pliku info.plist aplikacji, mogą to być problemy (np. Jeśli zmodyfikujesz plik, podpisywanie kodu zakończy się niepowodzeniem, a twoja aplikacja zostanie uznana za uszkodzoną), chociaż nie jestem tego pewien.
Nie można modyfikować pliku Info.plist. Wydaje się, że nie ma usankcjonowanego przez Apple sposobu robienia tego, o co prosisz.
Nie sądzę, że to zadziała. [NSBundle mainBundle] ma wskaźnik do określonego infoDictionary. Nawet jeśli weźmiesz zmienną kopię, NSBundle nie będzie wiedział nic o naszym nowym pliście. Ktoś próbował jeszcze?
Info.plist to nic innego jak słownik. Dlatego można go edytować.
- 1. BLE Powiadomienie, gdy aplikacja nie jest uruchomiona
- 2. Czy będę tęsknić za wszelkimi zmianami, jeśli wymieniam wyzwalacz Oracle, gdy moja aplikacja jest uruchomiona?
- 3. Sprawdź, czy moja aplikacja IOS jest zaktualizowana
- 4. intent android, gdy moja aplikacja jest zainstalowana
- 5. Jak sprawdzić, czy aplikacja jest uruchomiona
- 6. Tworzenie wątku, który działa przez cały czas, gdy moja aplikacja jest uruchomiona
- 7. android studio otwarte tryb debugowania, gdy aplikacja jest uruchomiona
- 8. Dokonywanie czynności pojawiają się tylko raz, gdy aplikacja jest uruchomiona
- 9. Jak mogę sprawdzić, czy handleOpenURL nazywa się uruchamianiem aplikacji lub gdy aplikacja jest uruchomiona?
- 10. Aparat Zatrzymuje się, gdy otwarta aplikacja jest uruchomiona
- 11. Jak mogę sprawdzić, czy moja aplikacja jest aktywna?
- 12. Jak mogę zrestartować moja aplikacja iphone
- 13. Jak wykryć, czy moja aplikacja jest piaskownica?
- 14. Edycja Info.plist możliwe programowo?
- 15. Jak ustalić, czy aplikacja internetowa jest obecnie uruchomiona?
- 16. Sprawdzanie, czy aplikacja iOS została uruchomiona przez Siri
- 17. Dowiedz się, jaki wiersz kodu moja aplikacja jest aktualnie uruchomiona w trybie debugowania Visual Studio.
- 18. Jak sprawdzić programowo, czy aplikacja jest zainstalowana?
- 19. Jak wyświetlić ikonę na pasku stanu, gdy aplikacja jest uruchomiona, w tym w tle?
- 20. Jak wykrywać aplikacja jest uruchomiona na symulatorze lub urządzenia
- 21. Moja instancja elasticsearch jest już uruchomiona, przenieśmy ją do produkcji.
- 22. Czy moja aplikacja zareaguje na schemat adresu URL?
- 23. Jak sprawdzić, czy moja aplikacja jest domyślnym programem uruchamiającym?
- 24. Czy aplikacja WinRT może działać nadal, gdy wyłączony jest ekran?
- 25. Nie można uzyskać elementów w narzędziu uiautomator, gdy aplikacja jest uruchomiona na urządzeniu
- 26. Howto "sandbox" moja aplikacja Lion?
- 27. Moja aplikacja została odrzucona z powodu UIBackgroundModes
- 28. Android, aplikacja uruchomiona ponownie po uruchomieniu ekranu blokady
- 29. Głęboki link do aplikacji, gdy aplikacja jest już uruchomiona w tle.
- 30. React Native: czy istnieje funkcja zwrotna, gdy aplikacja jest zamknięta?
Klawisz 'UIRequiresPersistentWiFi' wydaje się przechwycić do jakiegoś większego kodu' UIApplication' Nie mogę lub nie wiem, jak dostęp, który przedstawia okno dialogowe Wi-Fi, gdy potrzebne jest połączenie sieciowe. Dlatego zrobienie kopii preferencji pakunku może nie zająć mi dużo w tym konkretnym przypadku, chociaż może to dotyczyć innych kluczy, jeśli ich zachowanie może zostać przesłonięte. –
Nie będzie można zmienić pliku info.plist ani żadnego z plików w głównym katalogu. – mahboudz