Maison > Questions et réponses > le corps du texte
Utilisé NSString * jsStr = [[NSString alloc]initWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"xx" ofType:@"js"], et a continué à signaler Error Domain=NSCocoaErrorDomain Code=258 "Le nom de fichier n'est pas valide , est-ce que quelqu'un sait comment le résoudre
迷茫2017-05-02 09:35:31
Les bibliothèques statiques ne semblent pas fonctionner, vous devez créer des bundles, et les fichiers js du bundle seront automatiquement convertis en fichiers .txt par le système. Une meilleure solution consiste à compresser le code js puis à effectuer l'encodage URLEncode pour. résoudre ce problème.
给我你的怀抱2017-05-02 09:35:31
Vous pouvez regrouper les fichiers dont vous avez besoin dans Framework
, puis utiliser NSBundle
pour obtenir le fichier. La différence est que mainBundle
ne peut pas être utilisé, car mainBundle
fait actuellement référence au programme qui fait référence à Framework
. Bien sûr, votre fichier JS est introuvable.
Solution :
Dans le projet Framework
, Target->Build Phases->Copy Bundle Resources
ajoutez les fichiers que vous devez empaqueter dans Framework
Utilisez
NSBundle *bundle = [NSBundle bundleWithIdentifier:@"your.framework.id"];
if (bundle) {
NSString *filePath = [bundle pathForResource:@"somefile" ofType:@"js"];
// ...
}
PS : Framework
Il faut que ce soit une bibliothèque dynamique !