How to change the organization name on an existing Xcode project - ios

I created a once off Xcode project but entered the organisation name in incorrectly. How can I change it?

There are two things you will need to do. With the project or target selected, you can update the "Organization" field in the "Project Document" section of the "Utilities" panel (usually on the right).
Next, for an existing source files, you will need to perform a search/replace to update the header comments. Only new files will automatically get the new organization name.

Click on target -> click show the file inspector -> organization name text field edit organization name
If you need to edit Project name
1- select you'r project then press Enter edit name
2- show rename project content items
3- click rename
4- build your project
Note : If you use pod should change Target name in podfile then pod
install ، You will find that he has created a new file
newTarget.xcworkspace

Related

Is there a way to hide bundle id and apple developer team from public GitHub projects?

I want to make my project open source but don’t really like the idea of my apple developer name and app bundle id being public. Is there a way I can hide it?
Ive not made an open source project before so open to all suggestions.
By default, Xcode stores your product bundle identifier and your development team identifier as build settings in your xcodeproj, along with all the other details of your project structure.
You can tell Xcode to load build settings from a file with the suffix xcconfig. By moving just those settings to an xcconfig file, and telling Git to ignore that file, you can publish your repo without publishing those settings.
Follow these steps to move those two settings out of your xcodeproj and into an xcconfig file:
Add a new file to your project. Use the ‘Configuration Setting File’ template:
Name the file project.xcconfig. Add it to the top-level group (which is your project itself) and don't add it to any targets.
Xcode should open project.xcconfig automatically. If it doesn't, click it in the project navigator to open it.
Open the project editor in a separate editor pane. You can create a separate editor pane by clicking this button in the top-right corner of the editor:
Then click on your project itself (the top-level group) in the project navigator to open the project editor:
Make sure the project itself is selected in the project editor's outline:
In the Configurations section, click the chevron next to “Debug” to show its child, which is the project itself. Then, on the project row, click the popup menu in the “Based on Configuration File” row and choose “project”. Do the same for the “Release”. When you're done, it should look like this:
Click on your target (your app) in the project editor's target list. Then click the “Build Settings” tab. Then click “All” and “Levels”.
In the search field at the top right, type product_bundle_identifier. Double-click the green box in the table that shows your product bundle identifier:
Xcode opens a popover where you can edit the product bundle identifier. Press ⌘C to copy the identifier to the clipboard.
In the other editor pane, which should still be editing project.xcconfig, add a line at the end with the text PRODUCT_BUNDLE_IDENTIFIER = and paste in the identifier using ⌘V.
Click on the “Product Bundle Identifier” row label in the build settings editor to select the row. Press the delete key.
Xcode removes the setting from your .xcodeproj, leaving it only in the project.xcconfig file. If you deselect the row in the build settings editor, it looks like this:
You can see that Xcode is now reading the setting from project.xcconfig.
Repeat the process for the “Development Team” setting. Search the build settings for development_team. Copy its value to project.xcconfig, using the setting key DEVELOPMENT_TEAM. Then select the “Development Team” row in the build settings editor and press the delete key to remove the setting from your .xcodeproj. Your project.xcconfig should now look like this:
//
// project.xcconfig
// HideDevInfo
//
// Created by Rob Mayoff on 1/24/23.
//
// Configuration settings file format documentation can be found at:
// https://help.apple.com/xcode/#/dev745c5c974
PRODUCT_BUNDLE_IDENTIFIER = com.dqd.HideDevInfo
DEVELOPMENT_TEAM = SECRET123X
Clean your build folder (from the menu bar, choose Product > Clean Build Folder). Build and run your app. Make sure it still works.
Edit your .gitignore file. (If you don't already have one, create a new empty file at the top of your Git work tree.) Add a line that says project.xcconfig.
Commit your changes.
Please note that if this is not your first commit in the Git repository, your bundle identifier and your team identifier are still visible in the older commits. You may want to all your commits down to a single commit to remove them. There are ways to edit your commit history to remove those settings from all prior commits, but you'll need to post a separate question if you want to try that.

Add Xcode Target

I'm not sure why this is so difficult/hard to find any documentation for but I'm trying to add an initial target to a scheme for my workspace.
I created a new workspace, added some files, made a new scheme named "Default" but when I try to use it I get the error code "Scheme Default is not currently configured for the build action."
I can't find any docs on how to add a target. Target is grayed out in File > New > Target and when I try to add one with the "+" button in the "Edit Scheme" menu it just shows an empty list with a search option that is obviously going to be blank.
I've heard that Xcode is a nightmare to work with but I can't understand why I can't just add a target.
You can only add a new Target to an existing Project. If you start with a Workspace, it has no projects in it.
Go to File -> New and select Project...
Select the type of Project (such as Single View App)
Give your project a Name, and specify options (Team, Organization, Language, etc)
Select Next, and you're presented with a Where to Create window
At the bottom you should see an option for Add To:
From that drop-down, select your current Workspace
In this image, I already have HelloCpp project open, and I have wkplace Workspace open.
If I choose wkplace, this new project will be added to my Workspace and the Project and Target will be automatically added.
Edit:
Here is the full step-by-step.
New empty Workspace - named WorkSpace1:
Selected File -> New -> Project... then Selected Single View App, clicked Next:
Entered MyNewApp as the Product Name and clicked Next:
Selected WorkSpace1 from the Add To: drop-down, and clicked Create:
And I'm taken back to my WorkSpace1 window, with the new Project and Target showing:

Rename xcode project

In all of my stupidity I've notice I misspelled my own project. I'm honestly scared to rename it in Mac due to certain filepaths referencing folders that now do not exist. Is there an easy way to rename a project?
Try refactoring, It should work fine, if it doesn't refactoring creates a snapshot instantly.
In Xcode, go to the navigator panel and select the target:
Go to the inspector panel (on the far right) and select the File Inspector icon. You can change the project name here. (You will get a pop-up dialogue to confirm the changes.)
so try it out, if it blows up restore, and create a new project, and migrate to the new one slowly (as #troop231) mentioned.
good luck!
source
I've posted this as an answer elsewhere, but this works like it should...
This is a four step change. And is a real pain
Step 0 - Backup your existing project
Quit Xcode
Right click the master folder containing the project file and the assets, select archive
This will create you an archive of the OLD project
Open the OLD project in Xcode again
Step 1 - Rename the project.
Click on the project you want to rename in the “project navigator” on the left of the Xcode view.
On the right select the “file inspector” and the OLD name of your project should be in there under “Identity and Type”, change it to the new name.
A drop down appears, with a “rename” ok box
Click rename.
Step 2 - Rename the Scheme
In the top bar, just by the “Stop” button, is the scheme for your OLD product, click this then “manage schemes”
Click on the OLD name in the scheme, and it will become editable, change the name. (If you click it twice, you go into the editor (which you don’t want) click the manage schemes button to get back again)
Step 3 - Rename the folder with your assets
Quit out of Xcode
In the correctly named master folder, there is your newly named xcodeproj file with the the wrongly named OLD assets folder. Rename the OLD folder to your new name
Reopen the project and you get a warning “The folder OLD does not exist”, dismiss the warning
On the left in the “project navigator” click the top level OLD folder name.
On the right in the “file navigator” under “Identity and type” you will see the “Name” entry, change this from the OLD to the new name
Just under this is the “location” entry, just below that is a folder symbol with the OLD name. click this and chose the newly renamed folder
Step 4 - Rename the Build plist data
Click on the project in the “project inspector” on the left, in the centre panel select “Build Settings”
in this section search for plist
Under packaging, you will see Info.plist, and Product bundle identifier.
In Info.plist rename the OLD entry
In the Product Identifier and rename the OLD entry
FINALLY you are done and can rebuild (Apple-key+shift+k clean, Apple-Key+b then build)
I've found myself in these situations many times and this is what has helped me without any issues. https://github.com/shabbirh/Xcode-Project-Renamer
There are many options out there, a few works, others don't.
Follow this and you can enjoy a cold or hot drink instead of fighting with the Xcode rename process.
Install dependency
Run the command
gem install xcode-project-renamer
And then lookup for the ProjectToBeRenamed.xcodeproj file
cd yourParentProject/
xcode-project-renamer ProjectToBeRenamed NewProjectName
# Verbose information here.
# at the end you would see
Done.
I hope this helps others.
If you've just started it's easiest to just create a new project with the correct name, then delete the old one. We (I) do this all the time.
To change Project name go through this scenario.
Select target
Select Build Settings
Search product name here
Then Change the new App name here
please note that the XCODE project name will not change but when you run the App name will be change

Xcode: Update the project products group with new product name

In the products group in Xcode, I have the library "libMyLib-mac.a" in red, even after I build for device because I have changed the product name of the library in the targets of the project to "libMyLib.a".
Now, how can I update Xcode to show the new product name?
(Note: when I change the name back with the -mac suffix, the library is built and shown as available in the products folder.)
Much easier than I expected...
Right click the project file in finder, and show package contents.
Open the project.pbxproj file in some text editor.
Replaced all occurrences of -mac.a with .a.
Everything is now in order.

How can I change the name of an iOS app in Xcode?

I began an iPhone project the other day with a silly development code name, and now I want to change the name of the project since it's nearly finished. How can I do this?
Go to Targets in Xcode.
Build Settings on your project's target (your current development name).
Search for Product Name under Packaging. Change its value to what you want your new project name to be.
In new versions of Xcode (Xcode 5 too), to change the name of the project, follow these simple (detailed as possible) steps:
Note: In this example I'll change a hypothetical "Sample" name to a "Test" one.
Click twice slowly on the project root in the project navigator and then it becomes editable.
Rename the project.
After pressing Enter the assistant will suggest you to automatically change all project-name-related entries and will allow you to de-select some of them, if you want.
Press 'RENAME' and Xcode will do the rest. In the meanwhile Xcode may ask you about the option of making a snapshot of the project (it is very recommendable to do so).
In addition to renaming the project, you may want to rename the scheme so that it matches your new project name.
Repeat similar steps like 1 and 2, and press OK.
That's it.
Another scenario...
The previous explanation was related to changing the project name, but chances are that you only need to change the display name that appears below the app icon in the home screen. These are the steps:
In the "Supporting Files" group locate the info.plist (or related) file
Locate the "Bundle display name" key and change the value to the new name.
Delete the "old" app from the simulator or any other testing device.
Clean and rebuild your app again.
That's it. You will now see the new app name in your home screen.
You change the bundle display name in the info.plist file. It's as simple as that.
Changing the 'bundle display name' (as opposed to 'bundle name') is the only way to include characters like '+' in your applications name. Including special characters in the project name will cause an error when uploading to App Store!
In Xcode 4 search for "Product Name" under "Build Settings" tab of the target.
Select Target
Select Info
Insert Bundle Display Name and set App Title
If you want to change the display name only then you can directly change it in the property file (plist) of the app.
You can add a new row with the following key: Bundle display name
Here is an example for this:
When you use this the app name, which you have given with this key, it will be displayed.
So you can do this simply.
This is how I changed it in Xcode 4:
Click on your target file (the first main file of the application).
Go to Build Settings.
Scroll down you will find a bar called "Packaging".
Under Packaging you will see Product Name, and you can change the project name.
In Xcode 3.2, just select the Project entry in the Groups & Files panel, and select the menu item Project → Rename… It worked for me.
Xcode 7/8? It's in the plist that your target uses
For Xcode 10.2:
Although this question has many answers but I wanted to explain the whole concept in detail so that everyone can apply this knowledge to further or previous versions of Xcode too.
Every Xcode project consists of one or more targets. According to apple, A target specifies a product to build and contains the instructions for building the product from a set of files in a project or workspace. So every target is a product (app) on its own.
Steps to change the name:
Step 1: Go to the Targets and open the Info tab of the target whose name you want to change.
Step 2: View the Bundle name key under the Custom iOS Target Properties that is set to the default property of $(PRODUCT_NAME).
Step 3: You can either change the Bundle name directly (not recommended) or if you open the Build Settings tab then on searching for Product Name under Setting you will see that Product Name is set to $(TARGET_NAME).
Step 3A: You can change the Product Name or you can also change the Target Name by double clicking on the target.
So changing the Product Name (App Name) or Target Name both will result into similar results. But if you only want to change the App Name and want to keep using the same Target Name then only change the Product Name.
From Xcode 4.2 and onwards, you can use one more option.
Just click once on the .proj file name at the top in left navigation pane and it will be available for renaming. Rename it and the whole project will get renamed and not only the target.
For Xcode 11, if you want to change the App Display Name then simply go to plist and simply replace the value of CFBundleDisplayName:
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
The best way I like in Xcode 5 is to change product name in building settings. Search "product name" in "building settings", and change it.
If you need to change the name of the application as it appears on the iPhone's home screen, you need to do it in the Target configuration, not the project configuration.
Expand the Targets group in Xcode, and then single-click the item under that. It should share the name of your project, which is also the default name of the application that gets generated.
Press Command + I to bring up the Info window, and then navigate to the Build tag.
Set the Configuration drop-down to read All Configurations.
Look for a setting called Product Name under the Packaging heading.
Change that value to the name you want for your compiled applications and, in the immortal words of Bugs Bunny: Voilà! Do a clean and a build. Your application will take on the new name.
If you want to change the name, that will be displayed on your screen, right under your icon, in Xcode 4, go to Targets → Info → Bundle Display Name and change it to whatever you want.
In Xcode 4 click on project name to start renaming.
It's very easy to change in Xcode 8. enter the app name in the "Display Name" field in Project Target → General Identity section.
Also: your target name may be the same as your app name - note that changing the target name does not change the app name - only the change in the target properties described below - will change the app name.
A note on the bundle display name -- this is the right way to change the name in your app menu, but you'll likely have to reset content and settings in your iOS simulator before you see the change actually take effect.
You can modify the Product Name without changing your Project Name (especially the directory).
Build Settings > search the keyword "product name" > update values
For the sake of gathering all relevant information in one place, here is the official answer to this question - and it is the only one that worked for me on Xcode 5.1.1
Just use the Identity and Type pane in Xcode.
Select the top-most line to the left (with your project name, number of targets, etc.).
Select the target you wish to rename.
Click on the name of the target again.
Type the new name.
Press Enter.
For changing the application name only (that will display along with the app icon) in Xcode 4 or later:
Click on your project file icon from Groups & Files panel, choose Target → Build Settings → Packaging → Product Name. Click on the row. A pop-up will come. Type your new app name here.
For changing the project name only (that will display along with project icon) in Xcode 4 or later:
Click on your project file icon from the Groups & Files panel, choose Project (above targets) from the right pane. Just see at the far right pane (it will be visible only if you have enabled "Hide or show utilities"). Look for the project name. Edit it to a new name you want to give your project.
Delete your app from simulator/device, clean and run. Changes should reflect.
That's it.
I saw many ways to change your app name on the home screen, and I don't think the necessity of edit your .plist file or changing Build Settings of target is justified.
By default in Xcode 7.2 you even don't have 'bundle display name' in your plist file.
And by default, your 'Product name' in 'Build settings' tab of your target is equal to $(TARGET_NAME). IMHO, it's convenient and didn't mean to change.
So you can simply change your Target name like hallski said in his comment for accepted answer. I made picture for it:
I think there is a bit of confusion:
Do you want to change the project name or
do you want to change the App name on the iOS dashboard?
Usually it is enough to change the latter, adding/modifying the BUNDLE DISPLAY NAME key in plist.
It is better to leave the project name untouched, but it may be changed.
Note that Bundle display Name can contain spaces and special characters, but project not. Doing so some cmd line tools will fail due to filename path rules.
And even more Bundle Display names can be localized.
So unless you are in early stage and need to change the internal project name, go on using the Bundle Display Name key.
Project Navigator → General → Display Name
There are
Product name ($(PRODUCT_NAME)): defaults to Target name. This is useful for scheme to select the right target
Bundle display name (CFBundleDisplayName): defaults to Product name. This is what is displayed to your iOS user
Follow these four steps maintaining serial no. And in step 4 give your desired name..
The easiest way: select the TARGET name, double click on it, and rename.
You'll see your app's new name underneath the icon on your device or simulator.
Using Javier's approach to rename my app works perfectly. There is just one small bit missing in the end that I wanted to add.
I still ended up getting a Mach-O Linker Error after a clean and rebuild. To resolve this; select yourProject (in the Project Navigator). Under Targets, select yourProjectTests (the test target) → under the General tab, update the Host Application's value to the newly renamed project.

Resources