Submitting an update to the App Store from a different project? - ios

I have an app in the app store, and I want to release a major update to it. However, I want to re write the application from scratch and then submit it. Am I allowed to create a new Xcode project for the update? What kind of things must stay the same in order for them to accept it as a product update?

Yes, you can do whatever you want on the code side, as long as the Bundle ID (also named Bundle Identifier, and CFBundleIdentifier) stays the same. This identifier is set in the YourApp-info.plist file:
com.yourcompany.${PRODUCT_NAME:rfc1034identifier}
Here PRODUCT_NAME is a parameter that is defined in the Build Settings of your Xcode target; this is typically the name of your app.
Note that with any new release you can update the app icon, and even the display name of the app. But of course you don't want to change these too much, as users may not recognise it as the same app.
Good luck!

Yes, you can create a new project. Just inside the iTunes Connect app area, where you make the update versions, make sure that you create a new version, and inside your .plist file, make sure that you have the id as the other project.(the one that is usually com.companyName.etcName)
Hope that helps!

Related

change app name in App Store and re-use the name on the new app

I have an app called "XX". It's already approved in the app store. For some reasons, I need to change the package name and upload the same app again.
I want to use the old name "XX". Can I change the previous app's name first(I will unpublish this app), and then use the "XX" on my app(the same app).
Any help would be appreciated!
Thanks!
Yes, you can change the name of an app and then use that name in another app with a different bundle id (package name).

How can I reserve a name on the App Store if I want to change my existing app name?

I have an app in the iOS app store. Let’s call it “App1”.
I am changing the app a lot and would like to call it “App2” in the new update.
I will not be submitting a brand new app, just updating the current one.
Can I create a dummy “App2” to hold the name and then switch “App1” to “App2” when ready (much like reserving a Twitter or Instagram handle?)
You should be able to simply create a new update in iTunes Connect and rename the application. The rename will only go into effect when your update is released.
Try these steps.
Go to itunesconnect
Revise your app1 from version 1.0 to 2.0
Change app name to App2. If the name was already in use in app store you will get an error message otherwise you will hold the app name and no one will be able to use it.
Launch your prjoect in Xcode.
Look for plist file
Add the following to it "Bundle display name" and its value should be "App2"
Package / Archive and submit
Throw a party afterwards

Is it necessary to change my framework's bundle ID every time I submit a new app with that framework to iTunes Connect?

I have multiple apps and i have a framework say 'X' in all of them. Do I have to set new bundle ID for my FRAMEWORK for every new app I use it in?
As per i understand you are talking about third-party framework used in the Application. And in that framework there will be .plist file in that you are asking if we require to change bundle ID.
If i guess right than there is no need to change anything in that frameworks .plist file. DO NOT CHANGE ANYTHING. Keep it as it is. Keep the default values in that .plist file & you can use it in any apps with unchanged.
Hope it will help you.

Bundle Identifier: setup for new project with IOS App+Framework+Today Extension

I'm in the process of starting to develop an IOS/Swift App with a Framework to share common logic with a Today Widget and I have some questions about the Bundle Identifier:
If I choose something as org.whateverIwant.TestBundleID for the App, should whateverIwant.org really exist or is it simply a unique identifier?
If I later add an a Cocoa Touch custom Framework to the project, it asks me for a Product Name (TestBundleIDFramework) and then it appends by default the product name to org.whateverIwant without TestBundleID. Instead, if I add a Target for a Today Extension it appends the Product Name (TestBundleIDExtension) to org.whateverIwant.TestBundleID. Given the fact that all the three parts (App, Today Extension and Framework) are part of the same app that I'll upload to the store, is this way of using BundleIDs correct? Should also the Framework be under org.whateverIwant.TestBundleID, such as org.whateverIwant.TestBundleID.TestBundleIDFramework as for the Today Extension?
Is it extremely important to chose the right Bundle ID at the beginning of the project (consider that I still have no developer account, I'll pay for it as soon as I see that I'm able to build the app I'd like to) or can it be changed without hassle later on?
An brief OT question: there is a Version field for each target, what is the one that Apple looks at when determining if the uploaded bundle (App+Extension+Framework) has been updated to a new version?
No. It is simply an unique indentifier.
You mentioned three: "App+Extension+Framework" I think only the App's bundle ID matters because you are going to submit the App. The Extension and Framework are just part of the App, theirs bundle IDs are internal which means nothing to App store.
You can change the bundle ID as long as you haven't submitted your App to App Store.
OT Question: App Store only cares about your App's bundle ID and version number.

iOS: Running different apps on device

I'm a novice iOS developer and got my iOS developer program account, I setup the iOS certificate and Provisioning Profile and I can run my test app on my device(iPad). My question is if I want to run different test apps(imagine couple Apple sample codes) on my device without replacing the last tested app on my device(I mean keep all of them on my device at the end of test) what would be the trick here? I know each app has it's own bundle identifier, but how to manage this scenario for running all of them on the device with the same iOS Certificate/Provisioning Profile?
Just change the Name of the project and it should refactor. Change the name on the root of files & folders in xcode. You can click on it and it'll let you change the name. In Build Settings Properties change the name under there as well. Click at the very top of your list of files where it says the name of your project and it'll bring up the build properties.
If I understood you correctly, there are two parts of your questions:
Yes, you can run many (distinct) apps on your device.
To have multiple version of the same app running on your device, all you need is change app's product name to a different name, app1, app2, etc. It is a relatively easy process to do it. This SO Q/Aenter link description here has the instructions. You do not need to rename your project or any thing else. Just make a copy of the project and follow the instructions to make a new product name.

Resources