{"id":3195,"date":"2018-02-15T13:05:24","date_gmt":"2018-02-15T21:05:24","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vsappcenter\/?p=3195"},"modified":"2019-02-16T15:30:27","modified_gmt":"2019-02-16T22:30:27","slug":"three-quick-tips-signing-your-ios-apps-with-visual-studio-app-center-build","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/appcenter\/three-quick-tips-signing-your-ios-apps-with-visual-studio-app-center-build\/","title":{"rendered":"Three Quick Tips: Signing Your iOS Apps with Visual Studio App Center Build"},"content":{"rendered":"<p>Once you start building your apps in <a href=\"https:\/\/appcenter.ms\/\" rel=\"noopener\" target=\"_blank\">Visual Studio App Center<\/a>, you need to get them to your testers and ultimately to your users, which requires you to sign your apps. Dealing with provisioning profiles and certificates can sometimes be a challenging process. Several developers have asked about setting up iOS app signing with App Center, so we&#8217;ve gathered our favorite tips to help you successfully sign your iOS apps, whether for testing or the App Store.<\/p>\n<h3>1. Save the build configuration in App Center after you&#8217;ve pushed signing changes to your project<\/h3>\n<p>&nbsp;\nIn App Center, the build configuration of any branch stores two values of your Xcode project: the <code>CODE_SIGN_STYLE<\/code> and <code>DEVELOPMENT_TEAM<\/code> (set in the <code>project.pbxproj<\/code> file in your <code>.xcodeproj<\/code> folder). Whenever you change between manual and automatic signing or switch the development team, make sure you save the build configuration on App Center after pushing the changes, or your build will likely fail with a signing error. <\/p>\n<h3>2. Easily drag and drop the correct provisioning profile when using automatic signing<\/h3>\n<p>&nbsp;\nIn Xcode, in the <strong>General<\/strong> tab of your target under <strong>Signing<\/strong>, click the info icon next to <strong>Xcode Managed Profile<\/strong>. You\u2019ll then see a popover with profile information. Click and drag the \u201cPROV\u201d icon on the top left to a desired location (as shown below).\n&nbsp;\n&nbsp;\n<img decoding=\"async\" src=\"\" alt=\"Signing iOS apps\" width=\"1024\" height=\"623\" class=\"aligncenter size-large wp-image-3205\" \/><\/p>\n<h3>3. Take note of App Center&#8217;s currently supported options when using manual and automatic signing<\/h3>\n<p>&nbsp;\nApp Center fully supports manual iOS app signing, so you can use any type of profile or certificate. Simply verify that the <a href=\"https:\/\/docs.microsoft.com\/en-us\/appcenter\/build\/ios\/uploading-signing-files\" rel=\"noopener\" target=\"_blank\">provisioning profile and certificate<\/a> you upload to App Center match what you\u2019ve specified in your project, and you\u2019re all set.  \n&nbsp;\nIf you&#8217;ve enabled <strong>automatically manage signing<\/strong> in Xcode, App Center supports app signing with developer certificates and profiles (not with distribution). When uploading to App Center, you\u2019ll need to use the auto-generated provisioning profile from Xcode. <\/p>\n<h3>Still running into trouble?<\/h3>\n<p>&nbsp;\nTo troubleshoot and get build signing up and running, we suggest the following steps: \n&nbsp;<\/p>\n<ol>\n<li>Set up manual signing in your Xcode project and make sure it\u2019s working locally.  <\/li>\n<li>Once that&#8217;s verified, commit and push the changes to your repository. <\/li>\n<li>Prepare the provisioning profile and certificate selected in the Xcode target and upload them to the App Center build configuration. <\/li>\n<li>Most importantly: make sure you\u2019ve pushed the latest state of your project before saving the new certificate and profile to the build configuration. <\/li>\n<\/ol>\n<p>&nbsp;\nAs a team, we&#8217;re committed to improving the iOS signing experience, and we&#8217;ll continue to release new features and improvements over the coming months. If you need help, have questions, or want to share feedback, you can reach out to us at any time from your App Center portal (click on the \u201cchat\u201d icon). We\u2019re here to help! <\/p>\n<p><a href=\"https:\/\/appcenter.ms\/login\" rel=\"noopener\" target=\"_blank\">Log in to your account<\/a> or <a href=\"https:\/\/appcenter.ms\/signup\" rel=\"noopener\" target=\"_blank\">get started for free<\/a> today.\n&nbsp;\n&nbsp;\n<a href=\"https:\/\/appcenter.ms\/signup\"><img decoding=\"async\" src=\"\" alt=\"Get started now button\" width=\"200\" class=\"aligncenter size-full wp-image-2585\" \/><\/a>\n&nbsp;\n&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Once you start building your apps in Visual Studio App Center, you need to get them to your testers and ultimately to your users, which requires you to sign your apps. Dealing with provisioning profiles and certificates can sometimes be a challenging process. Several developers have asked about setting up iOS app signing with App [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":38034,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[16],"tags":[],"class_list":["post-3195","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-mobiledev"],"acf":[],"blog_post_summary":"<p>Once you start building your apps in Visual Studio App Center, you need to get them to your testers and ultimately to your users, which requires you to sign your apps. Dealing with provisioning profiles and certificates can sometimes be a challenging process. Several developers have asked about setting up iOS app signing with App [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts\/3195","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/comments?post=3195"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/posts\/3195\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/media\/38034"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/media?parent=3195"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/categories?post=3195"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/appcenter\/wp-json\/wp\/v2\/tags?post=3195"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}