J'utilise ARC avec succès dans mon projet. Cependant, j'ai rencontré quelques fichiers (par exemple, dans des tests unitaires et des objets fictifs) où les règles d'ARC sont un peu plus fragiles à l'heure actuelle. Je me souviens avoir entendu dire qu'il y avait un moyen de désactiver ARC par fichier, bien que je ne sois pas parvenu à trouver cette option.
Est-ce possible? Comment désactiver ARC sur chaque fichier?
Il est possible de désactiver ARC pour des fichiers individuels en ajoutant l'indicateur de compilation -fno-objc-arc
pour ces fichiers.
Vous ajoutez des indicateurs de compilateur dans Cibles -> Phase de construction -> Sources de compilation. Vous devez double-cliquer sur la colonne de droite de la ligne sous Drapeaux du compilateur . Vous pouvez également l'ajouter à plusieurs fichiers en maintenant la touche cmd enfoncée pour sélectionner les fichiers, puis en appuyant sur Entrée pour afficher la zone d'édition des indicateurs. (Notez que la modification de plusieurs fichiers écrasera tous les indicateurs déjà présents.)
J'ai créé un exemple de projet comportant un exemple: https://github.com/jaminguy/NoArc
Voir cette réponse pour plus d'infos: Désactiver le comptage automatique des références pour certains fichiers
Désactiver ARC sur Plusieurs fichiers:
;)
Pour Xcode 4.3, le moyen le plus simple pourrait être: Éditer/Refactoriser/Convertir en objectif-C ARC, puis cochez les fichiers que vous ne voulez pas convertir. Je trouve de cette façon la même chose que d’utiliser l’indicateur de compilation ci-dessus.
C'est un moyen très simple de créer un fichier individuel sans arc.
Suivez les étapes ci-dessous:
Désactiver ARC sur un fichier individuel:
Sélectionnez les fichiers souhaités dans Target/Build Phases/Compile Sources in Xcode.
Sélectionnez le fichier .m que vous voulez transformer en non-ARC PRESS ENTER Type - fno-objc-arc
Fichier non ARC vers indicateur de projet ARC: -fno-objc-arc
Fichier ARC vers indicateur de projet non ARC: -fobjc-arc
Remarque: si vous voulez désactiver ARC pour de nombreux fichiers, vous devez:
-fno-objc-arc
Il suffit d'utiliser l'indicateur -fno-objc-arc
dans Build Phases
> Compile Sources
Il est possible de désactiver ARC (Automatic Reference Counting) pour un fichier particulier dans Xcode.
Sélectionnez Target -> Build Phases -> Compile Sources -> Select File (double-cliquez) -> Ajouter "-fno-objc-arc" à la fenêtre contextuelle.
J'avais rencontré cette situation en utilisant des fichiers "Reachibility".
Ceci est montré dans la figure ci-dessous:
utilisez -fno-objc-arc pour chaque fichier lors des phases de construction
Les quatre étapes obligatoires comme expliqué dans ce vidéo
//1. Select desired files
//2. Target/Build Phases/Compile Sources
//3. Type -fno-objc-arc
//4. Done
Si vous utilisez Unity, vous n'avez pas besoin de changer cela dans Xcode, vous pouvez appliquer un indicateur de compilation dans les métadonnées du ou des fichiers spécifiques, directement dans Unity. Il suffit de les sélectionner dans le panneau Projet et de les appliquer à partir du panneau Inspecteur. Ceci est essentiel si vous envisagez d’utiliser Cloud Build .
Ajoutez le drapeau “-fno-objc-arc”.
Étapes simples à suivre: App> Cibles> Phases de construction> Sources de compilation> Ajouter un indicateur après la classe “-fno-objc-arc”
Je pense que toutes les autres réponses expliquent comment désactiver le décompte manuel de références (MRC) et activer le décompte automatique de références (ARC). Pour utiliser le décompte manuel (MRC), c’est-à-dire la désactivation du décompte automatique (ARC) sur plusieurs fichiers:
Utilisez simplement l'indicateur -fno-objc-arc dans Build Phases> Compile les sources devant les fichiers auxquels vous ne voulez pas que ARC soit appliqué.