Can I commit debug version to App store? - app-store

Only Release version, or debug version is also accepted?
I had committed a debug version. So I wondered.
Edit scheme - Debug/Release
https://developer.apple.com/library/ios/documentation/IDEs/Conceptual/AppDistributionGuide/SubmittingYourApp/SubmittingYourApp.html
It said :
Reviewing the Archive Scheme Settings
If necessary, review the Archive scheme settings to ensure that you don’t archive a debug version of your app.

Related

Submit new build when I'm in "Pending Developer Release" in AppStore

I searched a lot on StackOverflow and Googled a lot but I didn't find the exact answer I was looking for.
I recently submitted my application to the App Store review after several weeks of testing with TestFlight.
My application has been accepted on the App Store, and I indicated that I would like to do a manual release. So my application currently has the status "Pending Developer Release".
My build 1 is now ready to be released on the App Store.
The launch of my app is in a few weeks and I would like to have my build 2 (which already contains bug fixes) validated by the AppStore before the launch of my application. However, if my build 2 doesn't pass the App Store review before the launch of my app, I would like to be able to launch my build 1 anyway.
On the AppStore, I can't upload a new build if my old one hasn't been released. I have to cancel the already released build.
So I was wondering how to do this.
Can I, for example, validate my build 1 on the AppStore and set the availability to "no country"? and the day I launch, I just change the availability to "all countries"?
I hope I made myself clear!
Thanks,
Viktor
First things first , if you have a build with state Pending Developer Release for version (ex: 1.0.0)
you cannot upload a new build with same version (ie 1.0.0)
Or Else if you want to upload a new build with same version 1.0.0 you should cancel already approved build for version (ie 1.0.0) which changes the state of the build to Developer Rejected , in this state you can upload new build ( with probable bug fixes ) on same version (1.0.0)
If for some reason apple rejects your new build ( They inform why they rejected though), you cannot go back to already approved build.
Now if you want to release the build and make it Ready for Sale state then it's visibility in Appstore depends on Availability in Countries.
If you make Availability to none , then the build state for version 1.0.0 changes to Developer Removed From Sale ( No need to panic , if you add one or more countries in Availability the state would change to Ready for Sale state again)
However this makes you restricted from using 1.0.0 version again , so you need to use 1.0.1 or any new version greater than previous one.
If versioning is not an issue , you can release 1.0.0 and remove countries , so even if newer build (1.0.1) is rejected by apple , you can still release your app on the pre-decided date.
Hope this is helpful information.

Validating app in the App Store - Beginner

I am trying to validate my application, i am going through the doc and it says
Before archiving your application, ensure that the binary is self
contained. That is, if it relies on static libraries, ensure that
those libraries are part of the application binary by setting the Skip
Install build setting to Yes in the Release build configuration of the
target that builds and archives the application.
After following the above step, and when i archive the app i am not seeing the archived file on the table below (in the Organizer). Why is this and how can i submit my app to Validation ? (not submit to app store, Only validation)
Note: When i set Build configuration to Ad Hoc it Archives correctly (and displays in Organizer), but when i set Build configuration to Release, the archive file doesn't get displayed in the organizer.
Setting Skip Install to YES can be problematic sometimes, I'd only use it if you're having a specific problem that it solves. The Xcode users guide isn't as up-to-date as it should be, particularly for recent releases where the archive process has changed significantly.
Try turning Skip Install back to the default NO, and be sure to use the Product > Archive command rather than Build for > Archive.

xCode Active Configuration: Release, Distribution

In xCode 3.2.3 (haven't updated to 4.1 yet) under Active Configurations I have: Debug, Release, Distribution. When I select Release, I always get 'Base SDK Missing' and when I do a 'Build and Archive' and try to 'Validate Application', I get a Code Sign Error.
When I select 'Distribution' the 'Validate Application' succeeds.
I have confirmed that I am using a valid Distribution Provisioning Profile.
So, how can I get my 'Release' setting to work (ie. eliminate the Validate Application error of not code signing properly) and what would happen if I sent the 'Distribution' build to iTunes and it was accepted on the App Store?
Thank for your time.
Check the Base SDK option under the release configuration in your target build properties. It probably needs to be updated to an SDK you have available.
Interestingly, there is a difference between "right clicking" on the project name, editing the SDK and clicking on "Project" -> "Etid Active ...". Try the second one and see if it helps.

iPhone Build Error (Entitlements)

I'm getting this error when trying to build:
The entitlements specified in your application’s Code Signing Entitlements file do not match those specified in your provisioning profile.
(0xE8008016).
This is not my first time building apps. This will be my sixth app, so this thing is tripping. I'm making an AppStore distribution build, so I dont need entitlements. I dont have any entitlement files specified in my code signing entitlement. ITS BLANK. For the project info pane and the target info pane, there is absolutely nothing in my code signing entitlements, which is how its supposed to be. Yet I still get this dumb error. Remember, this is NOT an adhoc build, rather it is an AppStore build. What can be the problem??
Do you have multiple versions of Xcode installed (such as one of the betas)? Did you change the install directory after installing your current stable version of Xcode? Xcode installs things for code signing that can break if you either install a new version of Xcode simultaneously, or you rename your /Developer directory.
Also, try checking the console for related error messages.

Why Duplicate the “Release” configuration to "Distribution"?

On the Apple guide, there is a step before building the AppStore version:
Open the Xcode project and Duplicate
the “Release” configuration in the
Configurations pane of the project's
Info panel. Rename this new
configuration “Distribution”.
Why this step is needed? Can I skip this step and use the "Release" configuration to build the final version for AppStore?
If you keep your release and appstore configurations separate you're able then to test your application built with exactly the same settings as it will go to appstore and switch to that configuration with 1 click. It may be not necessary but (imo) is really handy.
Another reason may be that while developing you may want to play a bit with some project settings and be sure that your experiments won't go to distribution build by any chance.
You could name it "DebbieGibson" as long as you remember you set that configuration up for App Store distribution.