2017-10-15 5 views
0

Dans le code System.StartUpCopy ci-dessous, DirectoryExists (Source) renvoie false.Pourquoi FireMonkey CopyStartUpFiles échoue sur un périphérique iPad 2?

{$IF Defined(IOS)} 
    Source := UTF8ToString(Bundle.bundlePath.UTF8String) + PathDelim + 'StartUp' + PathDelim; 
{$ENDIF IOS} 
    if DirectoryExists(Source) then 
    DoCopyFiles(Source, Destination); 

C'est sur Tokyo 10.2 et 10.1 Berlin en utilisant une application 32 bits en mode "développement" ciblant un iPad 2 en utilisant SDK 10.2. L'iPad 2 est en cours d'exécution IOS 9.3.5

Le débogueur montre la valeur de "Source" est: /var/containers/Bundle/Application//Project1.app/Startup/

Le déploiement et l'approvisionnement tous semble être correct et le code ci-dessus fonctionne lorsque vous ciblez le simulateur IOS. Le répertoire de démarrage existe dans le Project1.app dans le dossier PAServer sur le Mac. Des indices sur ce qui pourrait empêcher le bundlePath d'être trouvé?

Répondre

0

Pour répondre à ma propre question ...

Il se trouve que le même code, exécuté plus tard dans un de mes propres sections d'initialisation de l'unité réussit, donc quelque chose ne se passe pas au bon moment dans le code de démarrage FireMonkey.

Quoi qu'il en soit, je peux maintenant simplement lire mes propres fichiers déployés directement à partir de l'ensemble en utilisant le code ci-dessus. La fonction de copie de démarrage/documents semble être redondante sur IOS et s'ajoute simplement au temps de démarrage de l'application.