iOS Question Build program to publish on app store

Giusy

Active Member
Licensed User
Hi,
This is the start of my program:
B4X:
#Region  Project Attributes 
    #ApplicationLabel: MyProgram
    #Version: 1.0.0 
    'Orientation possible values: Portrait, LandscapeLeft, LandscapeRight and PortraitUpsideDown
    #iPhoneOrientations: Portrait 
    #iPadOrientations: Portrait
    #Target: iPhone, iPad
    #ATSEnabled: True
    #MinVersion: 7
#End Region

In my directory b4i-keys-test I have:

B4i.keystore
B4i.p12
certSigningReuest.csr
Default.cer
Default.mobileprovision

@Erel says to add these instructions
example:
B4X:
#If RELEASE
   #CertificateFile: ios_distribution.cer
   #ProvisionFile: store.mobileprovision
#END IF

the beginning of my program will become:
B4X:
#Region  Project Attributes 
    #ApplicationLabel: MyProgram
    #Version: 1.0.0 
    'Orientation possible values: Portrait, LandscapeLeft, LandscapeRight and PortraitUpsideDown
    #iPhoneOrientations: Portrait 
    #iPadOrientations: Portrait
    #Target: iPhone, iPad
    #ATSEnabled: True
    #MinVersion: 7
    #If RELEASE
       #CertificateFile: Default.cer                  ???????????
       #ProvisionFile: Default.mobileprovision  ???????????
    #END IF
#End Region
it's correct?

after I perform Tools-build server-Build release app

After the option: Download last build is enabled but is only for Mac and I don't have a Mac
@Erel say:
....or upload it with the hosted builder: https://www.b4x.com/android/forum/threads/b4i-v2-30-beta-has-been-released.59124/#post-372309

But I did not understand exactly how to proceed

Can you help me?
 

tufanv

Expert
Licensed User
Longtime User
Yes @Erel, I have followed this tutorial
https://www.b4x.com/android/forum/t...icate-and-provisioning-profile.45880/#content

is the procedure (third code) I indicated above right?

how to activate "Download last build" wsithout Mac?

Thanks
the code is correct , but if you have created the provision file for store ( appstore distribution ) you can send it to apple for review and later publish. If you created the provision file for adhoc or development you can test it on your devide. You should switch to store provision when you are ready to upload your build to appstore.

If you don't have a mac you can use the hosted builder , it is a paid service I don't know if you have it or not. If you have it , build with release config and upload to itunes connect from the menu of b4i . ( don't forget you have to create itunes connect app with the same package id with b4i - build config. )
 
Upvote 0

Giusy

Active Member
Licensed User
Hi, @tufanv

these are the steps I've done:
Buy B4i and Hosted builder (for one year) and used bridge
Configure Path
Build server-server setting-use hosted builder
Create signkey
-------------------------------------------------------------------
In Developer.apple.com - my account (pay 99$)
Register my 3 Iphone (Udid)
In identifier app ids All and * in willcard
In production App Store and Ad Hoc
Upload csr file and rename in default
In distribution Ad Hoc and download Default.mobileprovision
------------------------------------------------------------------------
Now, tell me if it's right

(1)
I insert
#If RELEASE
#CertificateFile: DEFAULT.CER
#ProvisionFile: DEFAULT.MOBILEPROVISION
#END IF
#End Region
 
Upvote 0

Giusy

Active Member
Licensed User
(2) I compile in release mode and test the program on my Iphone

and then?

I know, it's easy for those who have already done it, but when it's the first time everything seems incomprehensible and insurmountable :/

Thanks
 
Upvote 0

Giusy

Active Member
Licensed User
Hi,

#If RELEASE
#CertificateFile: DEFAULT.CER
#ProvisionFile: DEFAULT.MOBILEPROVISION
#END IF
#End Region

with tools - build server - build release app

it say me:

Certificate file name must start with ios

:(
 
Upvote 0

tufanv

Expert
Licensed User
Longtime User
it is too complicated , I can't understand. You don't have to rename anything. You just have to include like this :

B4X:
#CertificateFile: DEFAULT.CER
#ProvisionFile: DEFAULT.MOBILEPROVISION

only thing you need to be careful is : the name of the files should match what you write here. if your certificate file name is hoptop then it must me hoptop.cer in the code .
If you want to upload to appstore you must use appstore production provision file with your certificate not adhoc.
 
Upvote 0

Giusy

Active Member
Licensed User
@tufanv
with this instruction (DEFAULT.CER - DEFAULT.MOBILEPROVISION)
when I "build release app" it don't terminate compilation and say: Certificate file name must start with ios
 
Upvote 0

Giusy

Active Member
Licensed User
Hi,
After a sleepless night full of nightmares my mind opened and I understood...

@Erel renamed the "ios" file in "default" because in debug mode B4i reads the two files with the name "Default", but in release mode it's another thing.

I copied "defaul.cer" and renamed it to "ios_distribution.cer"

In Apple developer I created mobileprovision for distribution and I gave the name "distrib.mobileprovision"

I have modified my program with
B4X:
#If RELEASE
       #CertificateFile: ios_distribution.cer
       #ProvisionFile: distrib.mobileprovision
 #END IF

and my .zip file with ipa was created correctly

:) :) :)
 
Upvote 0
Top