Comment puis-je travailler autour « Xcode ne pouvait pas localiser le fichier source »

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

  •  19-09-2019
  •  | 
  •  

Question

Je travaille avec le cadre ID3 dans Xcode (qui a depuis disparu de la surface de la toile - y compris le cache de Google).

Je tester une fonctionnalité mp3 import qui leur permet de modifier les balises comme ils les importent. L'un des cas de test est un mp3 corrompu ou invalide sans en-tête de id3 appropriée. Le problème que je vais avoir est que lorsque la mise à jour des balises du mp3 non valide (updateFile:), le cadre ID3 tente d'utiliser id3V1Tag.m (je suppose qu'il retombe à cette si elle ne peut pas trouver la balise v2) et c'est là que je obtenir l'erreur Xcode (en cours de fonctionnement du programme, et non la construction):

Xcode could not locate source file: id3V1Tag.m (line: 299)

Même dans un communiqué construire ce bloque le programme, il est donc pas quelque chose que je peux vraiment ignorer.

Je l'ai essayé de mettre un bloc try / catch autour de lui, mais il n'est pas traitée comme une exception ne soit pas si pris. La fonction pour charger les données de la balise du fichier renvoie un BOOL, mais il semble que ce ne retourne que false si le fichier donné n'existe pas, donc cela ne suffit pas non plus.

Code actuel:

[tagData release];
tagData = [[TagAPI alloc] initWithGenreList:nil];
tagsLoaded = [tagData examineFile:exportPath];
if(tagsLoaded) {
    [tagData setTitle:title];
    [tagData setArtist:artist];
    [tagData setComments:comments];
    @try {
        [tagData updateFile];
    }
    @catch (id e){
        NSLog(@"h");
    }
}
Était-ce utile?

La solution

L'erreur que vous obtenez est que Xcode tente de localiser votre fichier source de id3V1Tag.m afin de le montrer pendant le débogage. Aucun code que vous écrivez affectera cela.

Si vous ne disposez pas du fichier source id3V1Tag.m dans votre distro-cadre, il n'y a rien que vous pouvez faire à ce sujet, et il y a peu à faire, mais l'ignorer (autre que de voir si vous pouvez éviter de causer à demander, comme ne pas fixer un point d'arrêt dans, pas entrer dans, et ne pas s'écraser dedans).

Si vous avez, et construisez, alors peut-être vous n'êtes pas construire avec les informations de débogage droite, de sorte que vous devrez nous en dire plus sur la configuration de votre build.

Autres conseils

Ainsi, le problème que vous rencontrez est que votre programme se bloque lorsque vous essayez de compiler id3V1Tag.m ou lors de l'exécution du programme. Je suis un peu confus sur ce point.

Si le plantage lors de l'exécution peut-être c'est un problème avec un fichier de code manquant dans une bibliothèque? Comment allez-vous lisez les informations de balise ID3 exactement? Est-ce par votre propre code ou par une bibliothèque 3ème partie / classe.

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