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 .