You are on page 1of 7

1.CreatinganAppIDandselectingEntitlements.

Publishing to the App Store 2.CreatingaDistributionProvisioningProfile.


AguidetodistributingXamarin.iOSapplicationstothepublic. 3.Usingthisprofiletobuildyourapplication.
4.SubmittingyourapplicationthroughiTunesConnect.
Thisarticleshowshowtoconfigure,build,andpublishaXamarin.iOSapplicationfor
distributionviatheAppStore.Itincludesastepbystepguidethatcovershowtoprepare Inthisarticlewewillcoverallthestepsneededtoprovision,build,andsubmitanapplicationfor
yourapplicationfordistribution,howtouseApplestoolstosubmityourapplicationfor AppStoredistribution.
review,and,finally,howtopublishyourapplicationtotheAppStore.

Before You Submit an Application


Contents AfteryousubmitanappforpublicationtotheAppStore,itgoesthroughareviewprocessby
Thisarticlecoversthefollowingtopicsindetail: AppletoinsurethatitmeetsApplesguidelinesforqualityandcontent.Ifyourapplicationfailsto
meettheseguidelines,Applewillrejectit,atwhichtimeyouwillneedtoaddressthenon
BeforeYouSubmitanApplication conformancecitedbyApple,andthenresubmit.Therefore,youstandthebestchanceofmakingit
ConfiguringyourApplicationiniTunesConnect throughApplereviewbyfamiliarizingyourselfwiththeseguidelinesandtryingtoadaptyour
PreparingforAppStoreDistribution applicationtothem.Applesguidelinesareavailableat:AppStoreReviewGuidelines.

ProvisioningforApplicationServices Acoupleofthingstowatchoutforwhensubmittinganappare:
SettingtheAppsIconsandLaunchScreens
1.Makesuretheapplicationsdescriptionmatchesthefunctionalityincludedintheapp.
CreatingandInstallingaDistributionProfile
2.Testthattheapplicationdoesntcrashundernormalusage.ThisincludesusageoneveryiOS
SettingtheBuildConfigurationforyourApplication deviceyousupport.
BuildingandSubmittingtheDistributable
ApplealsomaintainsalistofAppStoresubmissiontips.YoucanreadtheseatDistributingonthe
SubmittingYourApptoApple
AppStore.
iTunesConnectStatus

Overview Configuring your Application in iTunes


InorderdistributeapplicationstoalliOSdevices,Applerequiresappstobepublishedthroughthe
Connect
AppStore,makingtheAppStoretheonestopshoppinglocationforiOSapplications.Withover iTunesConnectisasuiteofwebbasedtoolsfor,amongotherthings,managingyouriOS
500,000applicationsinthestore,developersofmanytypesofapplicationscapitalizedonthe applicationsontheAppStore.YourXamarin.iOSapplicationwillneedtobeproperlysetupand
massivesuccessofthissinglepointofdistribution.TheAppStoreisaturnkeysolution,offering configurediniTunesConnectbeforeitcanbesubmittedtoAppleforreviewandultimately,be
appdevelopersbothdistributionandpaymentsystems. releasedforsaleorasafreeappintheAppStore.

TheprocessofsubmittinganapplicationtotheAppStoreinvolves: Dothefollowing:
1.VerifythattheproperagreementsareinplaceanduptodateintheAgreements, Tax, and 2.Clickthe+buttonandprovideaNameandBundle IDforthenewapplication.
BankingsectionofiTunesConnecttoreleaseaniOSapplicationforfreeorforsale. 3.ScrolltothebottomofthescreenandselectanyApp Servicesthatwillberequiredbyyour
2.CreateanewiTunes Connect RecordfortheapplicationandspecifyitsDisplay Nameas Xamarin.iOSapplication.
seenintheAppStore. 4.ClicktheContinuebuttonandfollowingtheonscreeninstructionstocreatethenewAppID.
3.SelectaSale Priceorspecifythattheapplicationwillbereleasedforfree.
InadditiontoselectingandconfiguringtherequiredApplicationServiceswhendefiningyourApp
4.ProvideanApp Store IconiTunesArtworkandscreenshots,orvideoofyourapplicationin
ID,youalsoneedtoconfiguretheAppIDandentitlementsinyourXamarin.iOSprojectbyediting
action,ontheiOSdevicesitsupports.
boththeInfo.plistandEntitlements.plistfiles.
5.Provideaclear,succinctDescriptionoftheapplicationincludingitsfeaturesandbenefitto
theenduser. DothefollowinginXamarinStudio:

6.ProvideCategories,Sub Categories,andKeywordstohelptheuserfindyourappintheApp 1.IntheSolution Explorer,doubleclicktheInfo.plistfiletoopenitforediting.


Store.
2.IntheiOS Application Targetsection,fillinanameforyourapplicationandentertheBundle
7.ProvideContactandSupportURLstoyourwebsiterequiredbyApple. IdentifierthatyoucreatedwhenyoudefinedtheAppID.
8.Setyourapplication'sRating,whichisusedbyparentalcontrolsontheAppStore. 3.SavethechangestotheInfo.plistfile.
9.ConfigureoptionalAppStoretechnologies,suchasGame CenterandIn-App Purchase. 4.IntheSolution Explorer,doubleclicktheEntitlements.plistfiletoopenitforediting.

Formoredetails,pleaseseeourConfiguringanAppiniTunesConnectdocumentation. 5.SelectandconfiguretheentitlementsrequiredforyouXamarin.iOSapplicationsothatthey
matchthesetupyouperformedabovewhenyoudefinedtheAppID.
6.SavethechangestotheEntitlements.plistfile.
Preparing for App Store Distribution Fordetailedinstructions,pleaseseeourProvisioningforApplicationServicesdocumentation.
InordertopublishanapplicationtotheAppStore,youfirstneedtobuilditfordistribution,which
involvesmanysteps.ThefollowingsectionscoverseverythingrequiredtoprepareaXamarin.iOS SettingtheAppsIconsandLaunchScreens
applicationforpublicationsothatitcanbebuiltandsubmitittotheAppStoreforreviewand
release. ForaniOSapplicationtobeacceptedbyAppleforinclusionintheAppStore,itrequiresproper
iconsandlaunchscreensforalloftheiOSdevicesthatitwillberunningon.You'llneedtoedit
yourapplication'sInfo.plistfileinXamarinStudioandfillinalloftherequiredimagesinthe
ProvisioningforApplicationServices IconsandLaunch ImagessectionsoruseaUniversalStoryboardfortheLaunchScreen.
AppleprovidesaselectionofspecialApplicationServices,alsocalledentitlements,thatcanbe Fordetailedinstructions,pleaseseeourApplicationIconandLaunchScreensdocumentation.
activatedforyouriOSapplicationwhenyoucreateauniqueIDforit.Whetheryouareusing
customentitlementsornot,you'llstillneedtocreateauniqueIDforyourXamarin.iOSapplication
beforeitcanbepublishedontheAppStore. CreatingandInstallingaDistributionProfile
CreatinganAppIDandoptionallyselectingentitlementsinvolvesthefollowingstepsusing iOSusesprovisioningprofilestocontrolhowaparticularapplicationbuildcanbedeployed.These
Apple'swebbasediOSProvisioningPortal: arefilesthatcontaininformationaboutthecertificateusedtosignanapp,theApplicationID,and
wheretheappcanbeinstalled.Fordevelopmentandadhocdistribution,theprovisioningprofile
1.IntheCertificates, Identifiers & ProfilessectionselectIdentifiers>App ID. alsoincludesthelistofalloweddevicestowhichyoucandeploytheapp.However,forAppStore
distribution,onlycertificateandappIDinformationareincluded,sincetheonlymechanismfor
publicdistributionisthroughtheAppStore.

ProvisioninginvolvesthefollowingstepsusingApple'swebbasediOSProvisioningPortal:

1.SelectProvisioning>Distribution.
2.Clickthe+buttonandselectthetypeofDistributionProfilethatyouwanttocreateasApp
Store.
3.SelectApp IDfromthedropdownlistthatyouwanttocreateaDistributionProfilefor.
4.SelectavalidProductionDistributioncertificatetosigntheapplication. 3.Oncethearchivehasbeencreated,theArchivesviewwillbedisplayed:
5.EnteraNameforthenewDistribution Profileandgeneratetheprofile.
6.OntheMac,opentoXcodeandbrowsetoPreferences > [select your Apple ID]> View
Details....DownloadAllavailableprofilesinXcodeontheMac.
7.ReturntoXamarinStudioandundertheiOS Bundle SigningoptionsselecttheDistribution
ProvisioningProfileforthecorrectBuildConfigurationThiswilleitherbeApp Storeor
Release.

Fordetailedinstructions,pleaseseetheCreatingaDistributionProfileandSelectingaDistribution Note:WhiletheoldAppStoreandAdHocconfigurationshavenowbeenremovedfromall
ProfileinaXamarin.iOSProject. oftheXamarinStudiotemplateprojects,youmayfindthatolderprojectsstillincludethese

Dothefollowing: configurations.Ifthisisthecase,youcancontinuetousetheApp Store | Device


configurationinstep1ofthelistabove.

Building and Submitting the Distributable SignandDistributeyourApp


WithyourXamarin.iOSapplicationproperlyconfigured,youarenowreadytodothefinal EachtimeyoubuildyourapplicationforArchive,itwillautomaticallyopentheArchivesView,

distributionbuildthatyouwillbesubmittingtoAppleforreviewandrelease. displayingallarchivedprojects;groupedbysolution.Bydefaultthisviewonlyshowsthecurrent,
opensolution.Toseeallsolutionsthathavearchives,clickontheShowallarchivesoption.

BuildyourArchive ItisrecommendedthatarchivesdeployedtocustomerseitherAppStoreorEnterprise
1.SelecttheRelease | DeviceconfigurationinXamarinStudio: deploymentsbekept,sothatanydebuginformationthatisgeneratedcanbesymbolizedata
laterdate.

Tosignyourappandprepareitfordistribution:

1.SelecttheSign and Distribute...,illustratedbelow:

2.FromtheBuildmenu,selectArchive for Publishing


3.OntheProvisioningProfilescreen,Selectyoursigningidentityandcorresponding
provisioningprofile,orresignwithanotheridentity:

2.Thiswillopenthepublishingwizard.SelecttheAppStoredistributionchanneltocreatea
package,andopenApplicationLoader:
4.Verifythedetailsofyourpackage,andclickPublishtosaveyour.ipapackage:
5.Onceyour.ipahasbeensaved,yourAppisreadytobeuploadedtoiTunesConnectviathe Withyourdistributionbuildcreatedandarchived,youarenowreadytosubmityourapplicationto
ApplicationLoader: iTunesConnect.

Submitting Your App to Apple


Note:ApplehasrecentlychangeditsverificationprocessforiOSapplications,andmayreject
appswiththeiTunesMetadata.plistincludedintheIPA.IfyouencountertheerrorERROR:
ERRORITMS90047:"Disallowedpaths("iTunesMetadata.plist")foundat:
Payload/iPhoneApp1.app"theworkarounddescribedhereshouldresolvetheissue.

Withthedistributionbuildcompleted,youarereadytosubmityouriOSapplicationtoApplefor
reviewandreleaseontheAppStore.

ThearchiveworkflowinXamarinStudiowillopenApplicationLoaderautomatically,onceyouhave
savedthe.ipa:
1.SelectDeliverYourAppandclicktheChoosebutton:
2.SelecttheziporIPAfileyoucreatedaboveandclicktheOKbutton. 4.ClicktheNextbuttonandtheapplicationwillbevalidatedagainsttheAppStore:
3.TheApplicationLoaderwillvalidatethefile:
5.ClicktheSendbuttontosendtheapplicationtoAppleforreview.
6.TheApplicationLoaderwillinformyouwhenthefilehasbeensuccessfullyuploaded.

iTunesConnectStatus
IfyoulogbackintoiTunesConnectandselectyourapplicationfromthelistofavailableapps,the
statusiniTunesConnectshouldnowshowthatitisWaitingforReviewitmaytemporarilyread
UploadReceivedwhileitisprocessed:

Summary
Thisarticlepresentedastepbystepguidetoconfiguring,building,andsubmittinganapplication
forAppStorepublication.First,itcoveredthestepsneededtocreateandinstalladistribution
provisioningprofile.Next,itwalkedthroughhowtouseXamarinStudiotocreateadistribution
build.Finally,itshowedyouhowtouseiTunesConnectandtheXcodeArchiveTooltosubmitan
applicationtotheAppStore.

You might also like