Puis-je retourner par programmation les valeurs Info.plist pendant que mon application est en cours d'exécution?

StackOverflow https://stackoverflow.com/questions/1429886

  •  07-07-2019
  •  | 
  •  

Question

Je souhaite utiliser les clés SBUsesNetwork et UIRequiresPersistentWiFi dans mon application; Cependant, je souhaite les activer uniquement lors de l'utilisation d'un certain ensemble de contrôleurs de vue. Existe-t-il un moyen de retourner ces valeurs de clé par programme pendant l'exécution de l'application?

Était-ce utile?

La solution

Vous ne pouvez pas modifier le contenu de votre ensemble en cours d'exécution, vous n'avez pas d'accès en écriture à ce répertoire. Je ne suis pas sûr qu'il y ait un moyen de faire exactement ce que vous voulez.

Autres conseils

Je sais que vous pouvez obtenir votre info.plist en tant que NSDictionary via NSBundle avec les éléments suivants:

NSDictionary* infoDictionary = [[NSBundle mainBundle] infoDictionary];

à partir de là, vous pouvez créer une mutableCopy du NSDictionary et y définir les valeurs. Lorsque vous interrogez les clés, vous devez vous assurer d'interroger le NSDictionary et non votre fichier info.plist, mais il ne devrait pas être difficile d'encapsuler tout cela dans une classe qui gère à la fois problèmes pour vous.

En ce qui concerne la modification directe du fichier info.plist de votre application, des problèmes peuvent survenir (par exemple, si vous modifiez le fichier, la signature du code échouera et votre application sera considérée comme corrompue), bien que je ne sois pas certain à ce sujet.

Vous ne pouvez pas modifier le fichier Info.plist. Il ne semble pas y avoir de moyen approuvé par Apple de faire ce que vous voulez.

Je ne pense pas que cela fonctionnera. [NSBundle mainBundle] a un pointeur sur un infoDictionary spécifique. Même si vous prenez une copie mutable, NSBundle ne saura rien de notre nouveau plist. Quelqu'un a déjà essayé?

Info.plist n’est qu’un dictionnaire. Par conséquent, il peut être modifié.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top