Ionic package release build (ios)


#1

Hi. I build ionic for ios platform with both development and production certificates. Finally I want to submit it to app store. Now I have the production build with this command:

ionic package build ios --profile my_production_profile --release

What do I need now? Do I need xcode and rebuild again? Or just Application loader is enough?
Any idea?


#2

What did you get from Ionic Package?


#3

I got .ipa file.

Now I understood what’s going on. I opened itunesconnect. You fill out everything except the main application file. I cannot attach any file. I must do it by xcode.

Btw, thanks.


#4

You actually do it with Application Loader, which is also part of XCode.


#5

@Sujan12 Thanks.

I tried to send the generated .ipa by Application Loader, but I get the following error:

This bundle is invalid. The executable name, as reported by CFBundleExecutable in the info.plist file may not contain any of these characters: \ [] {} () . + *"

I changed ${PRODUCT_NAME} to something else. (and fixed other tags).

Then build again with ionic package, but still the same error. Any idea?


#6

Just a hunch: Did you ionic run/build/emulate ios in between? I don’t really know where ionic package gets its files from.


#7

Did you ionic run/build/emulate ios in between?

I can’t run these commands. See here please for more detail.


#8

Where did you do this, which file?


#9

First , in LuxA+-info.plist file, into the following directory:

platorms/ios/LuxA+

Then I got the same error and searched for more info.plist files, and changed 2 more in these directories:

plugins\cordova-plugin-splashscreen\tests\ios\CDVSplashScreenTest\CDVSplashScreenLibTests

And

plugins\cordova-plugin-camera\tests\ios\CDVCameraTest\CDVCameraLibTests

And again the same error.


#10

Ok, this doesn’t really make sense. How did you go to “PRODUCT_NAME”? The error message speaks of “CFBundleExecutable” doesn’t it?


#11

I just changed the following:

<key>CFBundleDisplayName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>

To the:

<key>CFBundleDisplayName</key>
<string>LUXA</string>
<key>CFBundleExecutable</key>
<string>LUXA</string>


#12

Ok, that’s not how this works.

You are editing local files. Ionic Package has its own version of these files, that gets created automatically by filling these values with something.

This comes probably from config.xml, so you should change this and replace the invalid characters in there, not in /platforms.


#13

@Sujan12 Thank you so much. Yes , I cleaned a + from confix.xml and I could be able to send my .ipa to the app store and got the success message.