Friday, October 14, 2011

Redoing app submission with a different project

Ok, I'm throwing in the towel on the app submission with the current project. Instead, I'm going to create a new project from scratch, copying in the source files. I'm also going to create a new itunes connect record.

Ok, right at the start, we'll mark this info:

Product name: JlptVocabularyQuiz

Company Indentifier:

com.kanjisoft

BundleIdentifier:


com.kanjisoft.JlptVocabularyQuiz

Ok, drag and drop all your program and xib files. I was concerned about replacing the main.xib, but since I just had to redo the connections I think I should've done it.

Also, add the sql dyamic library:

http://www.ajaxapp.com/2011/08/30/how-to-add-sqlite-framework-into-xcode-4-for-your-ios-app/

On Xcode 4, you’ll have to do the followings:

1. Click on your project name in your left pane of Xcode 4. You’ll be shown with the above screen.

// image

2. Then click on “Build Phases”, then get down to “Link Binary With Libraries”, and click the + button and add your SQlite framework (libsqlite3.0.dylib) as shown in the next screen. Voila, then you’re good to go to compile some code using SQLite functions.



Run...not bad. Better than I expected. I'm missing a background, but I can just copy that it. Plus the font is exceeding the available space on the quiz display, and the next button is too low, in what may be a relate problem. A surprisingly good turnout.

Let's change the font size which is set in the cell for row at index path:

// layout the table rows
- (UITableViewCell *)tableView:(UITableView *)tv
cellForRowAtIndexPath:(NSIndexPath *)indexPath


Not, that's into the problem. The problem is the view holding the rows isn't long enough, truncating the last row.

Ok, I lost some of this post when my browser crashed. Anyway, I got the app working, and created a new app record. It turns out that if you want to do anything like in app purchase or click notification, you can't use an app id with an * at the end.

Here's some info:

App IDs are an integral part of the iOS Development and Provisioning Process that allows an application to communicate with the Apple Push Notification service and/or an external hardware accessory. In addition, an App ID can also be used to share keychain data (such as passwords) between a suite of applications and share document and configuration data between your applications using iCloud.

An App ID is the combination of a unique ten character string called the "Bundle Seed ID" and a traditional CF Bundle ID (or Bundle Identifier). The Bundle Seed ID portion of your App ID can be utilized to share keychain access between multiple applications you build with a single App ID. In addition, it can be incorporated into any external hardware accessories you wish to pair your iOS application with. Registration of your App ID is required to utilize the Apple Push Notification service (APNs) and to register an application to incorporate In App Purchases.

The Bundle Identifier portion of an App ID can be substituted with a wild-card character (asterisk '*') so that a single App ID may be used to build and install multiple applications. If the wild-card character is not used, the Bundle Identifier portion of your App ID must be input as your CF Bundle ID in Xcode to allow the application to install on your device. The Bundle Seed ID portion of your App ID does not need to be input into Xcode. Wild-card App IDs cannot be used with the Apple Push Notification service or for In App Purchase.



I selected one without the *:

98X643NLB6.com.kanjisoft....
JLPT Vocabulary Quiz App

But Itunes only shows the ones it's not set to. But I know I chose that one.

Ok, let's see - I think we need to create a certificate signing request.

No, I don't think I need one - i'd have to delete the old one, and I think those are the identity only - it's the distribution profile that's needs the app. Well, the developer profile does to, but I'm talking about the provisioning, not the certificate.


Ok, I've updated the debug and release to all point at the new distribution profile.

Whoah - here's something I totally missed yesterday:

Submitting Your Application for Publication on the App Store
To publish your application on the App Store, you need to enter information about it in iTunes Connect. For more information about iTunes Connect, visit https://itunesconnect.apple.com.

Important: To validate your application or to submit it for publication, you must be registered in iTunes Connect.
To validate your application or submit it for publication on the App Store:

Create an archive of your application using the AppStore scheme.

========================== look at this! =========================================
To learn how to configure the AppStore scheme, see “Configuring Your Project for App Store Submission.”
===================================================================================

Ensure that an application record for the application exists in iTunes Connect. The information in this record must match the application you want to validate or submit for publication.
These are the main matching criteria:

Application Name
Bundle ID
Version
Ensure that the application record status in iTunes Connect is at least Waining for Upload.
Validate or submit the application.
Before submitting your application for publication, you should validate it to ensure that is passes essential iTunes Connect validation tests.




Ok, here's what happens when we click on that link:

Configuring Your Project for App Store Submission

To submit your application for publication on the App Store, you need to build your application using your team’s distribution code signing identity.

To configure your project to facilitate the building of distribution-identity–signed archives of your application:

In your project, duplicate the Release build configuration and name the duplicate “AppStore”.


// AppStore! wow.

// Ok, that's done.

Set the Code Signing Identity build setting to your team’s distribution code signing identity through the application’s distribution provisioning profile for the AppStore build configuration.


// Ugh. I don't see how this works.

Ok, I'm going to punt for now, and just try to upload this guy and see what happens.

In the meantime, I'm going to gather urls for how to submit an app via XCode 4.

http://www.iphonedevsdk.com/forum/iphone-sdk-development/74950-submitting-app-itunes-xcode-4-a.html

Guy discusses a couple of possible ways to submit. Ends up not being able to find in organizer.

http://www.iphonedevsdk.com/forum/iphone-sdk-development/75780-xcode-4-distribute-itunes-connect-organizer.html

The guy had problems because he was pulling in from other libraries. Found some includes in finder, and figured out why they were generated.

http://www.iphonedevsdk.com/forum/business-legal-app-store/75640-how-build-final-version-submit-app-store.html

This guy said he succeed by using the schemes to attach to the distribution profile, but I'm not seeing how that works.

Well, this one looks good:

http://www.youtube.com/watch?v=VxMSLzwHeCk

Google search:

xcode 4 submit app

Ok, here's a comment from the youtube video:

@Charbeltoumieh Ok. When in the drop down menu "Configurations" select the + and press "Duplicate Release Configuration" and then rename it "Distribution". Voila! you have got a distribution in code signing.

Hope this helps and answers your question. If not don't hesitate to ask for more help :D.

MilmersXcode 1 month ago
Reply
@Charbeltoumieh I am thinking of doing this tutorial again as I just realised (based on your comment) I missed out a very big part of the process. I will explain and fix your problem. If you select your entire project (It's the blue icon at the top of the file list) and the select your project again in the next sidebar to the left. In the main screen select the info tab and go to the drop down "Configurations"

This message will have to be split into 2 parts. See you in the next 1

MilmersXcode 1 month ago



So, you have to go to the project, info, configurations and duplicate.

Ok. Let's see what it says to do next.

In the target, delete the Validate Build Product build setting specification for the Release build configuration.


Well, I can't delete it. I can just change it to no.

Duplicate the scheme that builds your application and name the duplicate “-AppStore”.

Ok, I did that.

In the AppStore scheme, set the build configuration for the Archive action to AppStore.


com.kanjisoft.JlptVocabularyApp
com.kanjisoft.JlptVocabularyQuiz

Hmmm...this looks good:

had the same INVALID BINARY error from iTunes Connect even if Application Loader accepted my binary. The solution was very simple...

Open your info.plist, right-click and check Show Raw Key/Values:

CFBundleIconFile = Icon.png (my iPhone 57x57 PNG icon)
CFBundleIconFile~ipad = Icon-72.png (my ipad 72x72 PNG icon)
CFBundleIconFiles = array
Item 0 = Icon.png
Item 1 = Icon@2x.png (my iPhone 4 114x114 PNG icon)
Item 2 = Icon-72.png


Ok, I'm going to pick this up later.

No comments:

Post a Comment