il n'est pas censé trouver votre dylib dans .cache… et s'il y trouve quelque chose c'est que à un moment donné vous avez lié votre projet à cette dylib et installé tel quel sur l'iPhone… du coup il a copié cette dylib dans la cache de code et dlopen va continuer à la trouver sur son chemin…
tant que vous ne lui donnez pas un autre nom ou tant que vous ne restaurez pas l'iPhone, vous allez avoir le problème…
j'ai fait un essai ici avec l'exemple HelloWorld :
et ce que j'obtiens c'est :
il est à parier que la sandbox bloque les accès au fichier puisque l'erreur se produit sur le stat() lors de l'ouverture du fichier…
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 dlopen(/var/mobile/Applications/FBBBF7CF-5C96-4921-8C8D-B32E4625CB60/HelloWorld.app/libTestDylib.dylib, 2): no suitable image found. Did find: /var/mobile/Applications/FBBBF7CF-5C96-4921-8C8D-B32E4625CB60/HelloWorld.app/libTestDylib.dylib: pread of fat file failed: 2 /var/mobile/Applications/FBBBF7CF-5C96-4921-8C8D-B32E4625CB60/HelloWorld.app/libTestDylib.dylib: stat() failed with errno=803194776
(voir http://opensource.apple.com/source/d...3/src/dyld.cpp)
Partager