Ich bin interessiert an der Verwendung der SBUsesNetwork
und UIRequiresPersistentWiFi
Schlüssel in meiner Anwendung; Ich möchte sie jedoch nur aktivieren, wenn ein bestimmter Satz von View-Controllern verwendet wird. Gibt es eine Möglichkeit, diese Schlüsselwerte programmgesteuert umzukehren, während die Anwendung ausgeführt wird?Kann ich Info.plist-Werte programmgesteuert spiegeln, während meine Anwendung ausgeführt wird?
Antwort
Sie können den Inhalt des Bundles nicht ändern, während Sie ausgeführt werden. Sie haben keinen Schreibzugriff auf dieses Verzeichnis. Ich bin mir nicht sicher, ob es einen Weg gibt, genau das zu tun, was du willst.
Ich weiß, dass Sie Ihre info.plist als NSDictionary über NSBundle mit folgendem erhalten können:
NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];
von dort eine mutableCopy
der NSDictionary
machen könnte und die Werte darin eingestellt. Wenn Sie Fragen zu den Schlüsseln stellen, müssen Sie sicherstellen, dass Sie die Datei NSDictionary
und nicht Ihre Datei info.plist abfragen, aber es sollte nicht schwierig sein, all dies in eine Klasse zu kapseln, die beide Probleme für Sie löst.
Wenn Sie die Datei info.plist Ihrer App direkt ändern, kann es Probleme geben (wenn Sie beispielsweise die Datei ändern, schlägt die Code-Signatur fehl und Ihre App wird als beschädigt betrachtet), obwohl ich mir diesbezüglich nicht sicher bin.
Sie können die Info.plist nicht ändern. Es scheint keinen von Apple sanktionierten Weg zu geben, wonach Sie suchen.
Ich glaube nicht, dass dies funktioniert. [NSBundle mainBundle] hat einen Zeiger auf ein bestimmtes infoDictionary. Auch wenn Sie eine veränderliche Kopie nehmen, würde NSBundle nichts über unsere neue Plattform wissen. Hat jemand schon versucht?
Info.plist ist nichts anderes als ein Wörterbuch. Daher kann es bearbeitet werden.
- 1. Wie kann meine WxPerl-Anwendung Tastendrücke ignorieren, während eine Methode ausgeführt wird?
- 2. Warum sehe ich "No Debuggable Applications" in Android Studio Logcat, während meine Anwendung ausgeführt wird?
- 3. Wie kann ich feststellen, ob meine Anwendung als 32-Bit- oder 64-Bit-Anwendung ausgeführt wird?
- 4. Wie kann ich programmgesteuert die Telefonnummer des Geräts abrufen, auf dem meine Android-App ausgeführt wird?
- 5. Wie kann ich programmgesteuert überprüfen, auf welchem Gerät meine App ausgeführt wird? (Swift und Sprite Kit)
- 6. Wie NUnit programmgesteuert ausgeführt wird
- 7. Wie kann ich meine laufende .NET-Anwendung in die Lage versetzen, Befehle zu empfangen, während sie ausgeführt wird?
- 8. Kann meine SQL Server-Datenbank nicht kopieren oder verwenden, während meine C# -App ausgeführt wird
- 9. Wie kann ich die Bindung anderer Klickereignisse lösen oder verhindern, während meine Funktion ausgeführt wird?
- 10. Wie kann ich feststellen, unter welcher IIS-Version meine Asp.Net-Anwendung ausgeführt wird?
- 11. Wie kann ich feststellen, ob meine Django-Anwendung auf dem Entwicklungsserver ausgeführt wird oder nicht?
- 12. Wie kann ich die "Bit-Ness" ermitteln, unter der meine C# -Anwendung ausgeführt wird?
- 13. iPhone - App-Einstellungen ändern, während Anwendung im Hintergrund ausgeführt wird
- 14. Wie kann ich meine Anwendung integrieren?
- 15. Löschen Sie meine Anwendung programmgesteuert (Android)
- 16. Emscripten-Anwendung wird nicht ausgeführt
- 17. Espressotest zurück, während AsyncTask ausgeführt wird
- 18. Datenspeicherzugriff sperren, während Cron-Task ausgeführt wird
- 19. Intelij: Re-Kompilieren, wenn Anwendung ausgeführt wird?
- 20. Wie kann ich feststellen, ob meine iPhone App ausgeführt wird, wenn eine Push-Benachrichtigung empfangen wird?
- 21. Ich möchte meine Android-Anwendung nur im Hochformat ausgeführt werden?
- 22. Kann meine Anwendung nach der Installation nicht ausgeführt werden?
- 23. Neue Yaws-Konfigurationsdatei wird geladen, während Yaws ausgeführt wird
- 24. BroadcastReceiver, wenn die Anwendung nicht ausgeführt wird
- 25. Zu ThreadPool hinzufügen, während es ausgeführt wird
- 26. Meine Anwendung abstürzt Während im Hintergrund laufen
- 27. Meine Eindeutigkeitsprüfung wird nicht ausgeführt. Was vermisse ich?
- 28. Wie erzwinge ich, dass meine F # -Anwendung als Administrator ausgeführt wird?
- 29. Variable ändern, während Arduino ausgeführt wird
- 30. Wie kann ich die Textauswahl spiegeln?
Der 'UIRequiresPersistentWiFi' Schlüssel scheint sich in einen größeren' UIApplication' Code einzuklinken Ich kann oder kann nicht wissen, wie der Zugang aussieht, der ein WiFi Dialogfeld anzeigt, wenn eine Netzwerkverbindung benötigt wird. Wenn Sie also eine Kopie der Bundle-Einstellungen vornehmen, kann dies in diesem speziellen Fall nicht weit gehen, obwohl dies möglicherweise für andere Schlüssel gelten kann, wenn deren Verhalten überschrieben werden kann. –
Sie können Ihre info.plist oder eine der Dateien in Ihrem Mainbundle nicht ändern. – mahboudz