{"id":10520,"date":"2025-09-22T20:05:05","date_gmt":"2025-09-23T00:05:05","guid":{"rendered":"https:\/\/learndash.com\/support\/?post_type=docs&#038;p=10520"},"modified":"2025-11-14T09:07:43","modified_gmt":"2025-11-14T14:07:43","password":"","slug":"how-to-upload-learndash-app-ios-builds","status":"publish","type":"docs","link":"https:\/\/learndash.com\/support\/kb\/learndash-app\/app-builds\/how-to-upload-learndash-app-ios-builds\/","title":{"rendered":"How to Upload Learndash App iOS Builds"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\" id=\"h-introduction\"><strong>Introduction<\/strong><\/h2>\n\n\n\n<p>Uploading iOS builds is seamless using the Learndash App plugin\u2019s built-in uploader. You can push compiled Release App builds directly to App Store Connect without leaving WordPress.<\/p>\n\n\n\n<p>This guide walks you through setting up your Apple credentials, uploading a Release App build, and managing your TestFlight testers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-set-up-upload-configuration\"><strong>Set Up Upload Configuration<\/strong><\/h2>\n\n\n\n<p>To upload a build, you\u2019ll first need to authenticate your Apple developer account.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>In your WordPress Dashboard, go to <strong>Learndash App > Configure > iOS Settings<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"629\" height=\"115\" src=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2025\/09\/How-to-Configure-Your-iOS-Learndash-App-_-1.png\" alt=\"\" class=\"wp-image-11070\" srcset=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2025\/09\/How-to-Configure-Your-iOS-Learndash-App-_-1.png 629w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2025\/09\/How-to-Configure-Your-iOS-Learndash-App-_-1-400x73.png 400w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2025\/09\/How-to-Configure-Your-iOS-Learndash-App-_-1-360x66.png 360w\" sizes=\"auto, (max-width: 629px) 100vw, 629px\" \/><\/figure>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Scroll down to the <strong>Upload Configuration<\/strong> section.<br><\/li>\n\n\n\n<li>Under <strong>Apple Account ID<\/strong>, select the developer account you&#8217;ll use.<br><\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"h-generate-an-app-specific-password\"><strong>Generate an App-Specific Password<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Visit<a href=\"https:\/\/appleid.apple.com\"> appleid.apple.com<\/a> and sign in.<br><\/li>\n\n\n\n<li>Go to <strong>Security &gt; App-Specific Passwords &gt; Generate Password\u2026<\/strong>.<br><\/li>\n\n\n\n<li>Enter a label (e.g., \u201cLearndash App\u201d) and click <strong>Create<\/strong>.<br><\/li>\n\n\n\n<li>Re-enter your main Apple ID password if prompted.<br><\/li>\n\n\n\n<li>Copy the generated password and paste it into the <strong>App-Specific Password<\/strong> field in the plugin.<br><\/li>\n\n\n\n<li>Click <strong>Save Changes<\/strong>.<br><\/li>\n<\/ol>\n\n\n\n<p><strong>Note:<\/strong> If you encounter authentication errors, your app-specific password may have expired or been revoked. Just generate a new one and update it.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-upload-your-build\"><strong>Upload Your Build<\/strong><\/h2>\n\n\n\n<p>Once your upload configuration is set:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Go to <strong>Learndash App &gt; Upload &gt; Apple App Store<\/strong>.<br><\/li>\n\n\n\n<li>Choose the <strong>Release App<\/strong> build you want to upload.<br>\n<ul class=\"wp-block-list\">\n<li>Only Release App builds are supported.<br><\/li>\n\n\n\n<li>The build version\/code must be greater than any existing uploads.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"573\" height=\"129\" src=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2025\/09\/How-to-Upload-Learndash-App-iOS-Builds-to-App-Store-Connect-_-1.png\" alt=\"\" class=\"wp-image-11071\" srcset=\"https:\/\/learndash.com\/support\/wp-content\/uploads\/2025\/09\/How-to-Upload-Learndash-App-iOS-Builds-to-App-Store-Connect-_-1.png 573w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2025\/09\/How-to-Upload-Learndash-App-iOS-Builds-to-App-Store-Connect-_-1-400x90.png 400w, https:\/\/learndash.com\/support\/wp-content\/uploads\/2025\/09\/How-to-Upload-Learndash-App-iOS-Builds-to-App-Store-Connect-_-1-360x81.png 360w\" sizes=\"auto, (max-width: 573px) 100vw, 573px\" \/><\/figure>\n\n\n\n<p>3. Click <strong>Upload Build<\/strong>.<br><\/p>\n\n\n\n<ol class=\"wp-block-list\"><\/ol>\n\n\n\n<p>After submission, your build should appear in App Store Connect within 15 minutes under <strong>TestFlight<\/strong> or be ready to assign to an app version.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-troubleshooting-and-faqs\"><strong>Troubleshooting and FAQs<\/strong><\/h2>\n\n\n\n<p><strong>Q: Why do I see an authentication error when uploading?<\/strong><strong><br><\/strong> A: Your app-specific password might be expired or incorrect. Generate a new one and update it in <strong>iOS Settings &gt; Upload Configuration<\/strong>.<\/p>\n\n\n\n<p><strong>Q: Why isn\u2019t my build available for upload?<\/strong><strong><br><\/strong> A: Make sure you&#8217;re selecting a <strong>Release App<\/strong> build. Test App builds can\u2019t be uploaded. Also, confirm the version number is higher than the existing version in App Store Connect.<\/p>\n\n\n\n<p><strong>Q: I changed my Apple ID password. Why do uploads no longer work?<\/strong><strong><br><\/strong> A: Apple revokes all app-specific passwords when you change your Apple ID password. You\u2019ll need to generate and save a new one.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction Uploading iOS builds is seamless using the Learndash App plugin\u2019s built-in uploader. You can push compiled Release App builds directly to App Store Connect without leaving WordPress. This guide walks you through setting up your Apple credentials, uploading a Release App build, and managing your TestFlight testers. Set Up Upload Configuration To upload a&#8230;<\/p>\n","protected":false},"author":58,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_helpful_status":1,"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_swpsp_post_exclude":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"footnotes":""},"doc_category":[289],"doc_tag":[],"knowledge_base":[283],"class_list":["post-10520","docs","type-docs","status-publish","hentry","doc_category-app-builds","knowledge_base-learndash-app"],"year_month":"2026-04","word_count":356,"total_views":"338","reactions":{"happy":"0","normal":"0","sad":"0"},"author_info":{"display_name":"Stephanie Liy","author_link":"https:\/\/learndash.com\/support\/author\/stephaniei\/"},"doc_category_info":[{"term_name":"App Builds","term_url":"https:\/\/learndash.com\/support\/kb\/learndash-app\/app-builds\/"}],"doc_tag_info":[],"taxonomy_info":{"doc_category":[{"value":289,"label":"App Builds"}],"knowledge_base":[{"value":283,"label":"LearnDash App"}]},"featured_image_src_large":false,"comment_info":0,"knowledge_base_info":[{"term_name":"LearnDash App","term_url":"https:\/\/learndash.com\/support\/kb\/learndash-app\/","term_slug":"learndash-app"}],"knowledge_base_slug":["learndash-app"],"_links":{"self":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/10520","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs"}],"about":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/types\/docs"}],"author":[{"embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/users\/58"}],"replies":[{"embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/comments?post=10520"}],"version-history":[{"count":2,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/10520\/revisions"}],"predecessor-version":[{"id":11072,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/docs\/10520\/revisions\/11072"}],"wp:attachment":[{"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/media?parent=10520"}],"wp:term":[{"taxonomy":"doc_category","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/doc_category?post=10520"},{"taxonomy":"doc_tag","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/doc_tag?post=10520"},{"taxonomy":"knowledge_base","embeddable":true,"href":"https:\/\/learndash.com\/support\/wp-json\/wp\/v2\/knowledge_base?post=10520"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}