Publishing An IOS App - GitHub Pages

Transcription

IOS220Publishing an iOS AppDownload class materials fromuniversity.xamarin.com

Information in this document is subject to change without notice. The example companies,organizations, products, people, and events depicted herein are fictitious. No association withany real company, organization, product, person or event is intended or should be inferred.Complying with all applicable copyright laws is the responsibility of the user.Microsoft or Xamarin may have patents, patent applications, trademarked, copyrights, or otherintellectual property rights covering subject matter in this document. Except as expresslyprovided in any license agreement from Microsoft or Xamarin, the furnishing of this documentdoes not give you any license to these patents, trademarks, or other intellectual property. 2014-2017 Xamarin Inc., Microsoft. All rights reserved.Xamarin, MonoTouch, MonoDroid, Xamarin.iOS, Xamarin.Android, Xamarin Studio, and VisualStudio are either registered trademarks or trademarks of Microsoft in the U.S.A. and/or othercountries.Other product and company names herein may be the trademarks of their respective owners.

Objectives1.2.3.Prepare an application forpublishingSign an applicationPublish an app to the App Store

Prepare an application for publishing

Tasks1.2.3.Configure the build settingsFill in the application meta dataAdd application assets

Requirements Build and submission processrequires a Mac w/ XCode Xamarin.iOS uses the same toolsthat Objective-C & Swift apps useto create and sign the application Any modern Mac will suffice –including the lower-end Mac Mini

Application Settings Make sure to set the application name, bundle identifier and versioninformation – these identify your app uniquely to the user and device

Optimize your build settings iOS Build section hasseveral important settingsyou should check Architecture LLVM compiler Thumb-2

Verify the SDK version You should always build against the latest, released version of the AppleSDK – this is a requirement from AppleDefault selectslatest, but you canforce a specificSDK (if you havebeta versionsinstalled forexample)

Select the proper OS target The deployment target should always reflect the minimum version ofiOS you must have in order to run – this affects the APIs available

DemonstrationPreparing your iOS application for distribution

Summary1.2.3.Configure the build settingsFill in the application meta dataAdd application assets

Sign an application

Tasks1.2.3.Explore publishing typesCreate publishing certificatesSign an application

Types of Publishing There are three primary ways to publish your applicationsAdHoc(Testing)AppStoreEnterprise

AdHoc publishing Apple allows for limited direct-devicepublishing specifically to distribute yourapplication for testing purposes Can have up to 100 of each type of Appledevice (per year) TestFlight automates this process for iOS8

App Store publishing App Store publishing is themost common approach,Apple distributes your appand takes a portion of eachsale Supports a variety of otherfeatures such as in-apppurchases, ads and volumepurchases You pick the price You get 70% of the sales revenue Receive payments monthly No charge for free apps No credit card fees No hosting fees No marketing fees

Enterprise publishing Apple also supports an enterprise program – this is intended for largercompanies that want to distribute their applications in-house, eitherthrough iTunes or over-the-air (OOA) from your own servers Must have enterprise level account and meetspecific requirements from Apple Can distribute in-house apps to employees No validation process required App certificate expires after some period and mustbe re-signed to continue distribution

Distribution process Specific steps are necessary to distribute your applicationDistributionEnrollEnroll indeveloperprogramGenerate adistributioncertificateGenerate aprovisioningprofileCreate anApplicationIdentifier (App ID)Assign identityand sign app withcertificatesGeneratepackage andupload to iTunesConnect ordistribute .ipa asenterprise app

Logging into the developer portal Creating a developer account (or enterprise account) gives you accessto the Member Center (developer.apple.com/)

What certificates will I need There are several related certificates used in the iOS development anddistribution process – depending on your app you will need one ormoreDeveloperCertificateThe developer certificate is usedto sign debug versions of yourapp that you want to test on realdevices – you will need one ofthese to deploy your app locallyto a device you own

What certificates will I need There are several related certificates used in the iOS development anddistribution process – depending on your app you will need one ormoreDeveloperCertificatePush NotificationsTesting CertificateIf you utilize push notifications,you will need a testingcertificate to communicatewith Apple's test servers – thisis only used for testing

What certificates will I need There are several related certificates used in the iOS development anddistribution process – depending on your app you will need one ormoreDeveloperCertificatePush NotificationsTesting CertificateApp Store / AdHoc CertificateThis is the primary certificateyou need – it is used to signthe app and identify it astrusted by any device (since itcomes from Apple)

What certificates will I need There are several related certificates used in the iOS development anddistribution process – depending on your app you will need one ormoreThen you will need differentproduction certificates foreachunique Apple server-sideDeveloperApp Store / Adserviceyou take advantageofCertificateHoc CertificatePush NotificationsTesting CertificatePush NotificationsProduction CertPassbookCertificateVoIPCertificateSafari PushNotificationsApple PayCertificate

What is the application identifier? The Application Identifier uniquelydescribes your application onApple’s developer portal andincludes: Description (internal name) A unique Bundle ID A list of enabled servicesApple’s testers will validate the use of the services selected as part of the certificationprocess when submitting to the app store

What is the provisioning profile? The Provisioning Profile is used to glue all the pieces together – itassociates a distribution certificate, an App ID, and a set of device IDsand indicates where the application signed with this certificate can run –there are four types of provisioning profiles you can create:iOS AppDeveloperUsed to install appson local developerdevices, device mustbe registered

What is the provisioning profile? The Provisioning Profile is used to glue all the pieces together – itassociates a distribution certificate, an App ID, and a set of device IDsand indicates where the application signed with this certificate can run –there are four types of provisioning profiles you can create:iOS AppDeveloperAd HocUsed to install appson specific testusers devices(limited)

What is the provisioning profile? The Provisioning Profile is used to glue all the pieces together – itassociates a distribution certificate, an App ID, and a set of device IDsand indicates where the application signed with this certificate can run –there are four types of provisioning profiles you can create:iOS AppDeveloperAd HocApp StoreNo devicerestrictions –deployed throughApp Store, can onlybe created by theteam agent oradmin

What is the provisioning profile? The Provisioning Profile is used to glue all the pieces together – itassociates a distribution certificate, an App ID, and a set of device IDsand indicates where the application signed with this certificate can run –there are four types of provisioning profiles you can create:iOS AppDeveloperNo device restrictions –deployed through A, also only creatableby the agent / adminEnterprise

DemonstrationSigning your app for distribution

Summary1.2.3.Explore publishing typesCreate publishing certificatesSign an application

Publish to the App Store

Publish an Application1.2.Provide application data forpublishingSubmit an app to iTunes Connect

What is iTunes Connect? iTunes Connect is a webportal where you can supply app info publish your app get payment info see sales trends manage beta testing and moreitunesconnect.apple.com

Supplying app metadata When publishing an application tothe App Store, you’ll provide metadata describing your applicationincluding: name, description and version app video and screenshots SEO keywords categories Tip: can use sites like https://launchkit.io to generate app screenshots which look great

Apple TestFlight Beta Testing Can invite bothinternal andexternal users totest your app,system willautomaticallytrack the UUID ofthe device andgenerate thecertificate

Alternatives to TestFlight HockeyApp is a Microsoft testingdistribution platform which supports allmajor mobile platforms No forced approval process Can invite testers through email limited to 100 devices per app Supports analytics with an optional SDKhockeyapp.net/features

Submitting your app Once you have built the app, entered all the information and betatested the application then you are ready to submit the app forpublishing to the AppStore

App Store size requirements Total uncompressed size must be 4gwith each CPU architecture packagesbeing less than: iOS7 – 80MB iOS7 – 60MB Must be 100MB to do celldownload Consider moving app data into files vs.embedded resources and compressingany images used

DemonstrationSubmitting your app using iTunes Connect

Common App ections/

Common App ections/

Where to go from here? The steps required to publish a Xamarin.iOS application are exactly thesame as those for applications written in Swift or Objective C – Applehas excellent documentation on the signing and publishing processApple’s documentation onpublishing covers everything fromadvanced topics to common issuesdeveloper.apple.com

Summary1.2.Provide application data for publishingSubmit an app to iTunes Connect

Thank You!Please complete the class survey in your profile:university.xamarin.com/profile

There are several related certificates used in the iOS development and distribution process -depending on your app you will need one or more What certificates will I need Developer Certificate Push Notifications Testing Certificate App Store / Ad Hoc Certificate Push Notifications Production Cert Passbook Certificate Safari Push Notifications .