iOS save an Object in the keychain [duplicate] - objective-c

I am using ARC successfully in my project. However, I have encountered a few files (e.g., in unit tests and mock objects) where the rules of ARC are a little more fragile right now. I recall hearing that there was a way to disable ARC on a per-file basis, though I have been unable to find this option.
Is this possible? How do I disable ARC on a per-file basis?

It is possible to disable ARC for individual files by adding the -fno-objc-arc compiler flag for those files.
You add compiler flags in Targets -> Build Phases -> Compile Sources. You have to double click on the right column of the row under Compiler Flags. You can also add it to multiple files by holding the cmd button to select the files and then pressing enter to bring up the flag edit box. (Note that editing multiple files will overwrite any flags that it may already have.)
I created a sample project that has an example: https://github.com/jaminguy/NoArc
See this answer for more info:
Disable Automatic Reference Counting for Some Files

Disable ARC on MULTIPLE files:
Select desired files at Target/Build Phases/Compile Sources in Xcode
PRESS ENTER
Type -fno-objc-arc
Press Enter or Done
;)

For Xcode 4.3 the easier way might be: Edit/Refactor/Convert to objective-C ARC, then check off the files you don't want to be converted. I find this way the same as using the compiler flag above.

It is very simple way to make individual file non-arc.
Follow below steps :
Disable ARC on individual file:
Select desired files at Target/Build Phases/Compile Sources in Xcode
Select .m file which you want make it NON-ARC
PRESS ENTER
Type -fno-objc-arc
Non ARC file to ARC project flag : -fno-objc-arc
ARC file to non ARC project flag : -fobjc-arc

Note: if you want to disable ARC for many files, you have to:
open "Build phases" -> "Compile sources"
select files with "left_mouse" + "cmd" (for separated files) or + "shift"
(for grouped files - select first and last)
press "enter"
paste -fno-objc-arc
press "enter" again
profit!

Just use the -fno-objc-arc flag in Build Phases>Compile Sources

Select Xcode project
Go to targets
Select the Build phases section
Inside the build phases section select the compile sources.
Select the file which you do not want to disable ARC and add -fno-objc-arc

It is possible to disable ARC (Automatic Reference Counting) for particular file in Xcode.
Select Target -> Build Phases -> Compile Sources -> Select File (double click) -> Add "-fno-objc-arc" to pop-up window.
I had encountered this situation in using "Reachibility" files.
This is shown in below figure :

use -fno-objc-arc for each file in build phases

The four Mandatory Step as explained in this video
//1. Select desired files
//2. Target/Build Phases/Compile Sources
//3. Type -fno-objc-arc
//4. Done

Please Just follow the screenshot and enter -fno-objc-arc .

If you're using Unity, you don't need to change this in Xcode, you can apply a compile flag in the metadata for the specific file(s), right inside Unity. Just select them in the Project panel, and apply from the Inspector panel. This is essential if you plan on using Cloud Build.

I think all the other answers are explaining how to disable MRC(Manual Reference Count) and enabling ARC(Automatic Reference Count).
To Use MRC(Manual Reference Count) i.e. Disabling ARC(Automatic Reference Count) on MULTIPLE files:
Select desired files at Target/Build Phases/Compile Sources in Xcode
PRESS ENTER
Type -fobjc-arc
Press Enter or Done

Add flag “-fno-objc-arc”.
Simple follow steps :
App>Targets>Build Phases>Compile Sources> add flag after class “-fno-objc-arc”

Just use the -fno-objc-arc flag in Build Phases>Compile Sources infront of files to whom you dont want ARC to be apply.

GO to App -> then Targets -> Build Phases -> Compile Source
Now, Select the file in which you want to disable ARC
paste this snippet "-fno-objc-arc" After pasting press ENTER
in each file where you want to disable ARC.

select project -> targets -> build phases -> compiler sources
select file -> compiler flags
add -fno-objc-arc

Following Step to to enable disable ARC
Select Xcode project
Go to targets
Select the Build phases section
Inside the build phases section select the compile sources.
Select the file which you do not want to disable ARC and add -fno-objc-arc

Related

How to enable ARC for a single file

I want to bring a single Objective-C class written using ARC into an old project. The internet provides many references for how to enable ARC for your project and then disable it for single files but I want to do the opposite.
I want to leave the project as it is, i.e. using manual reference counting, and then enable ARC just for the new file. (My searches have failed me here.)
Is this possible? How?
Add the -fobjc-arc flag to any files for which you'd like to enable ARC, as described in the ARC documentation.
Select Target > Build Phases > Compile Source > Select Your class > Double Click> Type
-fobjc-arc in dialog box
Enter.

How to create conditional build in Xcode Project? Either using Macro or setting global bool variable

Xcode Project: How to create conditional build via Xcode Project
I had tried to define preprocessed macro such as LIGHTER_VERSION_APP at target or project level setting. Now I'm trying to use this macro in the other dependent project of my main project. I'm not able to use this LIGHTER_VERSION_APP macro in other dependent project.
Can anybody tell me how I can do that?
Thanks
In your Xcode project or target settings, under the compiler settings, you can add any flags you like to "Other C Flags" and "Other C++ Flags". You can simply add "-D LIGHTER_VERSION_APP" and it should now be defined when compiling your project. Once that's done, you can use #if defined LIGHTER_VERSION_APP in your code to turn stuff on or off.

How to enable/disable ARC in an xcode project?

If a project has already been created with ARC disabled, how do I enable it and vice versa?
Open your project and select Edit -> Refactor -> Convert to Objective-C ARC.
This will start checking your code if it is ready for the conversion.
See also Clang documentation: Objective-C Automatic Reference Counting (ARC)
How to disable ARC has been answered here
Following are the steps which I did and it worked for me
Select Project
Select Targets
From the right panel, select Build Settings
Search for "Automatic Reference Counting";
Locate Apple LLVM compiler 3.0 - Language and Objective-C Automatic Reference Counting and select NO in all three sections.
When you migrate a project to use ARC, the -fobjc-arc compiler flag is set as the default for all Objective-C source files. You can disable ARC for a specific class using the -fno-objc-arc compiler flag for that class. In Xcode, in the target Build Phases tab, open the Compile Sources group to reveal the source file list. Double-click the file for which you want to set the flag, enter -fno-objc-arc in the pop-up panel, then click Done.
In Xcode 5.0.2, select your project in Navigatior, select Build Settings, search for Apple LLVM 5.0 - Language - Objective C and change Objective-C Automatic Refence Counting to NO

Using code that doesn't support ARC, from an ARC project [duplicate]

I am using ARC successfully in my project. However, I have encountered a few files (e.g., in unit tests and mock objects) where the rules of ARC are a little more fragile right now. I recall hearing that there was a way to disable ARC on a per-file basis, though I have been unable to find this option.
Is this possible? How do I disable ARC on a per-file basis?
It is possible to disable ARC for individual files by adding the -fno-objc-arc compiler flag for those files.
You add compiler flags in Targets -> Build Phases -> Compile Sources. You have to double click on the right column of the row under Compiler Flags. You can also add it to multiple files by holding the cmd button to select the files and then pressing enter to bring up the flag edit box. (Note that editing multiple files will overwrite any flags that it may already have.)
I created a sample project that has an example: https://github.com/jaminguy/NoArc
See this answer for more info:
Disable Automatic Reference Counting for Some Files
Disable ARC on MULTIPLE files:
Select desired files at Target/Build Phases/Compile Sources in Xcode
PRESS ENTER
Type -fno-objc-arc
Press Enter or Done
;)
For Xcode 4.3 the easier way might be: Edit/Refactor/Convert to objective-C ARC, then check off the files you don't want to be converted. I find this way the same as using the compiler flag above.
It is very simple way to make individual file non-arc.
Follow below steps :
Disable ARC on individual file:
Select desired files at Target/Build Phases/Compile Sources in Xcode
Select .m file which you want make it NON-ARC
PRESS ENTER
Type -fno-objc-arc
Non ARC file to ARC project flag : -fno-objc-arc
ARC file to non ARC project flag : -fobjc-arc
Note: if you want to disable ARC for many files, you have to:
open "Build phases" -> "Compile sources"
select files with "left_mouse" + "cmd" (for separated files) or + "shift"
(for grouped files - select first and last)
press "enter"
paste -fno-objc-arc
press "enter" again
profit!
Just use the -fno-objc-arc flag in Build Phases>Compile Sources
Select Xcode project
Go to targets
Select the Build phases section
Inside the build phases section select the compile sources.
Select the file which you do not want to disable ARC and add -fno-objc-arc
It is possible to disable ARC (Automatic Reference Counting) for particular file in Xcode.
Select Target -> Build Phases -> Compile Sources -> Select File (double click) -> Add "-fno-objc-arc" to pop-up window.
I had encountered this situation in using "Reachibility" files.
This is shown in below figure :
use -fno-objc-arc for each file in build phases
The four Mandatory Step as explained in this video
//1. Select desired files
//2. Target/Build Phases/Compile Sources
//3. Type -fno-objc-arc
//4. Done
Please Just follow the screenshot and enter -fno-objc-arc .
If you're using Unity, you don't need to change this in Xcode, you can apply a compile flag in the metadata for the specific file(s), right inside Unity. Just select them in the Project panel, and apply from the Inspector panel. This is essential if you plan on using Cloud Build.
I think all the other answers are explaining how to disable MRC(Manual Reference Count) and enabling ARC(Automatic Reference Count).
To Use MRC(Manual Reference Count) i.e. Disabling ARC(Automatic Reference Count) on MULTIPLE files:
Select desired files at Target/Build Phases/Compile Sources in Xcode
PRESS ENTER
Type -fobjc-arc
Press Enter or Done
Add flag “-fno-objc-arc”.
Simple follow steps :
App>Targets>Build Phases>Compile Sources> add flag after class “-fno-objc-arc”
Just use the -fno-objc-arc flag in Build Phases>Compile Sources infront of files to whom you dont want ARC to be apply.
GO to App -> then Targets -> Build Phases -> Compile Source
Now, Select the file in which you want to disable ARC
paste this snippet "-fno-objc-arc" After pasting press ENTER
in each file where you want to disable ARC.
select project -> targets -> build phases -> compiler sources
select file -> compiler flags
add -fno-objc-arc
Following Step to to enable disable ARC
Select Xcode project
Go to targets
Select the Build phases section
Inside the build phases section select the compile sources.
Select the file which you do not want to disable ARC and add -fno-objc-arc

How can I disable ARC for a single file in a project?

I am using ARC successfully in my project. However, I have encountered a few files (e.g., in unit tests and mock objects) where the rules of ARC are a little more fragile right now. I recall hearing that there was a way to disable ARC on a per-file basis, though I have been unable to find this option.
Is this possible? How do I disable ARC on a per-file basis?
It is possible to disable ARC for individual files by adding the -fno-objc-arc compiler flag for those files.
You add compiler flags in Targets -> Build Phases -> Compile Sources. You have to double click on the right column of the row under Compiler Flags. You can also add it to multiple files by holding the cmd button to select the files and then pressing enter to bring up the flag edit box. (Note that editing multiple files will overwrite any flags that it may already have.)
I created a sample project that has an example: https://github.com/jaminguy/NoArc
See this answer for more info:
Disable Automatic Reference Counting for Some Files
Disable ARC on MULTIPLE files:
Select desired files at Target/Build Phases/Compile Sources in Xcode
PRESS ENTER
Type -fno-objc-arc
Press Enter or Done
;)
For Xcode 4.3 the easier way might be: Edit/Refactor/Convert to objective-C ARC, then check off the files you don't want to be converted. I find this way the same as using the compiler flag above.
It is very simple way to make individual file non-arc.
Follow below steps :
Disable ARC on individual file:
Select desired files at Target/Build Phases/Compile Sources in Xcode
Select .m file which you want make it NON-ARC
PRESS ENTER
Type -fno-objc-arc
Non ARC file to ARC project flag : -fno-objc-arc
ARC file to non ARC project flag : -fobjc-arc
Note: if you want to disable ARC for many files, you have to:
open "Build phases" -> "Compile sources"
select files with "left_mouse" + "cmd" (for separated files) or + "shift"
(for grouped files - select first and last)
press "enter"
paste -fno-objc-arc
press "enter" again
profit!
Just use the -fno-objc-arc flag in Build Phases>Compile Sources
Select Xcode project
Go to targets
Select the Build phases section
Inside the build phases section select the compile sources.
Select the file which you do not want to disable ARC and add -fno-objc-arc
It is possible to disable ARC (Automatic Reference Counting) for particular file in Xcode.
Select Target -> Build Phases -> Compile Sources -> Select File (double click) -> Add "-fno-objc-arc" to pop-up window.
I had encountered this situation in using "Reachibility" files.
This is shown in below figure :
use -fno-objc-arc for each file in build phases
The four Mandatory Step as explained in this video
//1. Select desired files
//2. Target/Build Phases/Compile Sources
//3. Type -fno-objc-arc
//4. Done
Please Just follow the screenshot and enter -fno-objc-arc .
If you're using Unity, you don't need to change this in Xcode, you can apply a compile flag in the metadata for the specific file(s), right inside Unity. Just select them in the Project panel, and apply from the Inspector panel. This is essential if you plan on using Cloud Build.
I think all the other answers are explaining how to disable MRC(Manual Reference Count) and enabling ARC(Automatic Reference Count).
To Use MRC(Manual Reference Count) i.e. Disabling ARC(Automatic Reference Count) on MULTIPLE files:
Select desired files at Target/Build Phases/Compile Sources in Xcode
PRESS ENTER
Type -fobjc-arc
Press Enter or Done
Add flag “-fno-objc-arc”.
Simple follow steps :
App>Targets>Build Phases>Compile Sources> add flag after class “-fno-objc-arc”
Just use the -fno-objc-arc flag in Build Phases>Compile Sources infront of files to whom you dont want ARC to be apply.
GO to App -> then Targets -> Build Phases -> Compile Source
Now, Select the file in which you want to disable ARC
paste this snippet "-fno-objc-arc" After pasting press ENTER
in each file where you want to disable ARC.
select project -> targets -> build phases -> compiler sources
select file -> compiler flags
add -fno-objc-arc
Following Step to to enable disable ARC
Select Xcode project
Go to targets
Select the Build phases section
Inside the build phases section select the compile sources.
Select the file which you do not want to disable ARC and add -fno-objc-arc