2017-09-04 3 views
0

Je cherchais un moyen d'activer les canaris de pile pour mon application ios dans swift, mais j'ai ensuite trouvé que la version récente de xcodes a l'indicateur requis pour activer les canaris de pile est activé par défaut. Alors je cherchais un moyen de m'assurer que les canaris de la pile sont activés et comme les autres sites disaient que j'ai essayé avec la commande otool dans le terminal ($ otool -Iv appName | grep stack_chk) pour l'assurer et je m'attendais à retourner 'stack_chk_guard stack_chk_fail 'flags mais il n'a renvoyé aucune valeur/flags. J'ai donc essayé de mettre manuellement le drapeau '-fstack-protector-all' sous 'autres drapeaux C', je ne pouvais toujours pas voir de drapeaux avec la commande otool.Activer les canaris de pile dans ios swift

enter image description here

Qu'est-ce que je manque ici? ou est-ce que j'interprète quelque chose? comment puis-je m'assurer que les canaris de pile sont activés pour mon application?

Répondre

3

On dirait que vous faites tout correctement. Veuillez cocher double:

  1. Vous définissez -fstack-protector-all drapeau pour principal objectif "Autres drapeaux C". Ou vous définissez pour projet paramètres et a $(inherited) dans les paramètres de génération cible.
  2. Construisez votre application et dans le journal de construction (dans le navigateur de rapport, cmd + 8) vérifier où est forfait AppName.app
  3. cd path-to-package/AppName.app
  4. utilisation otool sur fichier binaire: otool -Iv AppName| grep stack
+0

Am faire les 4 exactes étapes exactement .. aucune idée de ce qui ne va pas. – XiOS

+0

@XiOS avez-vous un seul fichier Objective-C dans votre projet? –

+0

Oui il y en a peu .. – XiOS