{"id":389,"date":"2024-12-30T10:56:26","date_gmt":"2024-12-30T10:56:26","guid":{"rendered":"https:\/\/superpwa.com\/docs\/?post_type=ht_kb&#038;p=389"},"modified":"2025-12-16T11:19:30","modified_gmt":"2025-12-16T11:19:30","slug":"how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa","status":"publish","type":"ht_kb","link":"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/","title":{"rendered":"How to Publish a Progressive Web App (PWA) on the iOS App Store Using SuperPWA"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Progressive Web Apps (PWAs) are changing how we think about web and mobile applications. They combine the best features of websites and mobile apps, such as offline access, push notifications, and responsive designs. This makes PWAs a great choice for users and developers alike, offering a smooth experience across different devices. Although PWAs are usually accessed through web browsers, you can publish them on app stores like the iOS App Store. This increases their visibility and provides users with a more app-like experience.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-style-rounded\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"585\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re-1024x585.jpg\" alt=\"\" class=\"wp-image-391\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re-1024x585.jpg 1024w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re-300x171.jpg 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re-768x439.jpg 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re-50x29.jpg 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re-1536x878.jpg 1536w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re-60x34.jpg 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re-100x57.jpg 100w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/re.jpg 1792w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Publishing a PWA on the iOS App Store requires wrapping it in a native container, following Apple&#8217;s guidelines, and submitting it for review. Whether you\u2019re a beginner or a professional, this tutorial  will walk you through each step of the process, from preparing your app to submitting it to the store.<\/p>\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<div class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/div>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#PWA_Setup\" >PWA Setup<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#Creating_Your_Application\" >Creating Your Application.<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#Configuring_App_Capabilities\" >Configuring App Capabilities<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#Releasing_Your_App\" >Releasing Your App<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#Deployment\" >Deployment<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#Add_your_PWA_app_to_the_iOS_App_Store\" >Add your PWA app to the iOS App Store.<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#Guidelines\" >Guidelines<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#Here_are_some_best_practices_for_preparing_and_publishing_a_PWA_Progressive_Web_App_on_the_iOS_App_Store\" >Here are some best practices for preparing and publishing a PWA (Progressive Web App) on the iOS App Store:<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#FAQs\" >FAQ&#8217;s<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/superpwa.com\/docs\/article\/how-to-publish-a-progressive-web-app-pwa-on-the-ios-app-store-using-superpwa\/#Now_lets_look_at_the_mostly_asked_FAQs\" >Now, let\u2019s look at the mostly asked FAQ\u2019s.<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"PWA_Setup\"><\/span>PWA Setup<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Preparing PWA App for iOS Store using SUPWERPWA Plugin.<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First, download and install the <a href=\"https:\/\/superpwa.com\/pricing\/\"><strong>SuperPWA<\/strong> <strong>Pro<\/strong> <\/a>plugin from here. Ensure you have the latest version.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"104\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1-1024x104.png\" alt=\"\" class=\"wp-image-392\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1-1024x104.png 1024w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1-300x31.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1-768x78.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1-50x5.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1-1536x156.png 1536w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1-60x6.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1-100x10.png 100w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su1.png 1563w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the dashboard, click on \u2018<strong>Features (Add-on)<\/strong>,\u2019 select \u2018<strong>Apple App Package Generator<\/strong>,\u2019 and activate the option. Then, click on &#8220;<strong>Activate<\/strong>&#8221; and go to the settings.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"524\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2-1024x524.png\" alt=\"\" class=\"wp-image-393\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2-1024x524.png 1024w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2-300x153.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2-768x393.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2-50x26.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2-60x31.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2-100x51.png 100w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su2.png 1421w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Once you go to the settings, you will see an options dashboard with the <strong>Bundle ID<\/strong> and Generate App Packages. First, generate the app, then click on &#8216;<strong>Save Settings<\/strong>&#8216; to generate the APK download option. Once it appears, click on &#8216;Download.&#8217;<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"405\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3-1024x405.png\" alt=\"\" class=\"wp-image-394\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3-1024x405.png 1024w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3-300x119.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3-768x304.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3-50x20.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3-60x24.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3-100x40.png 100w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su3.png 1425w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A ZIP file will start downloading. It contains all the essential packages required to publish your APK on the iOS store. This is a straightforward process, so you don&#8217;t need to spend hours developing or coding your PWA app.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"498\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4-1024x498.png\" alt=\"\" class=\"wp-image-395\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4-1024x498.png 1024w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4-300x146.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4-768x373.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4-50x24.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4-1536x747.png 1536w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4-60x29.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4-100x49.png 100w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/su4.png 1594w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Creating_Your_Application\"><\/span>Creating Your Application.<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Before beginning the submission process, you need to set up the Swift project that will host your PWA:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Extract the contents of the folder you downloaded from the <strong>SuperPWA package<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open a terminal and navigate to the<strong> <code>src<\/code> directory<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Execute the following command: <strong><code>pod install<\/code>.<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"has-blush-light-purple-gradient-background has-background wp-block-paragraph\">\ud83d\udca1 <strong>Tip:<\/strong> If you encounter an error while running <code>pod install<\/code>, try installing <strong>CocoaPods<\/strong> first by using the command <code><strong>brew install cocoapods<\/strong><\/code>. If <strong>Homebrew<\/strong> isn\u2019t installed on your system, you can set it up <a href=\"https:\/\/brew.sh\">here<\/a>.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><\/p>\n<\/blockquote>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Open the<strong> <code>.xcworkspace<\/code><\/strong> file located in your <strong><code>src<\/code> directory<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2.png\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"257\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2-1024x257.png\" alt=\"\" class=\"wp-image-413\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2-1024x257.png 1024w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2-300x75.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2-768x193.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2-50x13.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2-60x15.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2-100x25.png 100w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/s2.png 1110w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure>\n\n\n\n<p class=\"has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background wp-block-paragraph\">\ud83d\udce2<strong>Warning<\/strong> \u2757 Attempting to open and build the <code><strong>.xcodeproj<\/strong><\/code> file will result in a failed build. Make sure to use the <code><strong>.xcworkspace<\/strong><\/code> file instead, as it is the correct one for building.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In Xcode, navigate to <strong>Product &gt; Build<\/strong> to compile your project.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Once the project is open in <strong>Xcode<\/strong>, click the \u25b6\ufe0f button to run your PWA in an iPhone simulator. You can also select other iOS simulators to test your app on different devices.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Configuring_App_Capabilities\"><\/span>Configuring App Capabilities<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In Xcode, go to the <strong>Signing &amp; Capabilities<\/strong> tab and turn off any capabilities your app doesn\u2019t need. Keep only the ones that are essential for your app. This step is crucial for passing the app review process.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/rr1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"681\" height=\"401\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/rr1.png\" alt=\"\" class=\"wp-image-416\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/rr1.png 681w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/rr1-300x177.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/rr1-50x29.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/rr1-60x35.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/rr1-100x59.png 100w\" sizes=\"auto, (max-width: 681px) 100vw, 681px\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Releasing_Your_App\"><\/span>Releasing Your App<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The next part of getting your PWA onto the App Store is the trickiest and might take some time.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Sign In To Your Apple Developer Account<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">To submit your app to the iOS App Store, sign in to your Apple Developer Account. If you don&#8217;t have one yet, you can enroll <a href=\"https:\/\/developer.apple.com\/programs\/\">here<\/a>. The enrollment fee is $99 per year, but non-profit organizations can get this fee waived.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Set Up a Bundle ID<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Next, you\u2019ll need to create a Bundle ID in your Apple Developer account that matches the one from your <strong>SuperPWA iOS<\/strong> package.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1.Go to your Apple Developer account and click on <strong>Certificates, Identifiers &amp; Profiles<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Click on <strong>Identifiers<\/strong> and then select the <strong>+<\/strong> symbol to add a new identifier.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/r12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"798\" height=\"304\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/r12.png\" alt=\"\" class=\"wp-image-417\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/r12.png 798w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/r12-300x114.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/r12-768x293.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/r12-50x19.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/r12-60x23.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/r12-100x38.png 100w\" sizes=\"auto, (max-width: 798px) 100vw, 798px\" \/><\/a><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">3. Choose <strong>App IDs<\/strong> and select <strong>App<\/strong> as the type.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. Add a description of your choice and Enter your Bundle ID. <strong>Important<\/strong>: It must match the Bundle ID you used in <strong>SuperPWA iOS Package<\/strong>. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> 5. In the capabilities section, enable <strong>Associated Domains<\/strong> and <strong>Push Notifications<\/strong>.Click <strong>Continue<\/strong>, then <strong>Register<\/strong> to complete the process.<\/p>\n\n\n\n<p class=\"has-very-light-gray-to-cyan-bluish-gray-gradient-background has-background wp-block-paragraph\">\ud83d\udcdd<strong>Note<\/strong>: If you didn\u2019t remember your Bundle ID from <strong>SuperPWA<\/strong>, you can find it in the <code><strong>project.pbxproj<\/strong><\/code> file.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Generate a Certificate Signing Request (CSR)<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Next, use the Keychain Access app to generate a Certificate Signing Request (CSR)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Open the <strong>Keychain <\/strong>Access app.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<ol class=\"wp-block-list\">\n<li><\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">    2. In the top menu, go to <strong>Keychain Access &gt; Certificate Assistant &gt; Request a Certificate from a Certificate Authority<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">    3. Enter your email address and name. You can leave the CA Email Address blank.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">    4. Select the <strong>Saved to disk<\/strong> option and click <strong>Continue<\/strong>.You\u2019ll be asked to save a <strong><code>.certSigningRequest<\/code> <\/strong>file to your computer.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Set Up the Certificate<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Now, install the certificate you downloaded:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1.Open the Keychain Access app.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Ensure you&#8217;re in the <strong>Login<\/strong> section on the left sidebar.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Drag and drop your downloaded <code>.cer<\/code> file into the list of certificates.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/wq1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"932\" height=\"428\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/wq1.png\" alt=\"\" class=\"wp-image-443\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/wq1.png 932w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/wq1-300x138.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/wq1-768x353.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/wq1-50x23.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/wq1-60x28.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/wq1-100x46.png 100w\" sizes=\"auto, (max-width: 932px) 100vw, 932px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Set Up a Provisioning Profile<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Next, use the certificate you created to set up a Provisioning Profile:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Go back to the <strong>Certificates, Identifiers, &amp; Profiles<\/strong> section in your Apple Developer account, Select <strong>Profiles<\/strong> and click the <strong>+<\/strong> symbol to add a new profile.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. On the next page, choose <strong>App Store<\/strong> under <strong>Distribution<\/strong> and click <strong>Continue<\/strong>.Select the app ID, choose the Bundle ID and click <strong>Continue<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. Choose the certificate you created in the previous step and click <strong>Continue<\/strong>.Enter a name for your Provisioning Profile using your Bundle ID and click <strong>Generate<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">4. Finally, click <strong>Download<\/strong> to get your <code><strong>.mobileprovision<\/strong><\/code> file.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Reserve Your App Name<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Once you have the provisioning profile, you can reserve your app name on your developer account:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1. Go back to your Apple Developer account and click on <strong>App Store Connect<\/strong> and Select <strong>My Apps<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">2. Click the <strong>+<\/strong> symbol and then choose <strong>New App<\/strong>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">3. You\u2019ll be asked for some details about your app:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Select <strong>iOS<\/strong> as the platform.<\/li>\n\n\n\n<li>Choose any name you want for your app.<\/li>\n\n\n\n<li>Pick a language.<\/li>\n\n\n\n<li>Select the Bundle ID you created earlier.<\/li>\n\n\n\n<li>You can enter any string for the SKU.<\/li>\n\n\n\n<li>Choose <strong>Full Access<\/strong> for User Access.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">4. Finally, click <strong>Create<\/strong> to reserve your app.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Deployment\"><\/span>Deployment<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Add_your_PWA_app_to_the_iOS_App_Store\"><\/span><strong>Add your PWA app to the iOS App Store.<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">After downloading your iOS APK zip, kindly check all the essential items required to publish the app. The package includes important elements such as screenshots, descriptions, and more.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Once you\u2019ve completed  your app, it\u2019s time to upload your PWA app package. Please follow the all below steps.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>First, you\u2019ll need to <strong>sign in to Xcode<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Click <code><strong>Xcode<\/strong><\/code> in the top menu bar.<\/li>\n\n\n\n<li>Click <code>Preferences<\/code>.<\/li>\n\n\n\n<li>Navigate to the <code><strong>Accounts<\/strong><\/code> panel.<\/li>\n\n\n\n<li>If you don\u2019t see your Apple Developer account already, click the <code>+<\/code> symbol in the bottom left.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Sign in to your account.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Next, you\u2019ll need to <strong>assign your project to your account<\/strong>:\n<ul class=\"wp-block-list\">\n<li>Select the <code><strong>Project Navigator<\/strong><\/code> tab.<\/li>\n\n\n\n<li>Select your application.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Select <strong><code>Build Settings<\/code>.<\/strong><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/sq1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"882\" height=\"273\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/sq1.png\" alt=\"\" class=\"wp-image-396\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/sq1.png 882w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/sq1-300x93.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/sq1-768x238.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/sq1-50x15.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/sq1-60x19.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/sq1-100x31.png 100w\" sizes=\"auto, (max-width: 882px) 100vw, 882px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Scroll down to the <code><strong>Signing<\/strong><\/code> section.\n<ul class=\"wp-block-list\">\n<li>Under <strong>Code Signing Identity<\/strong>, set the <strong>Release<\/strong> configuration to <strong>Apple Distribution<\/strong>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/pq.png\"><img loading=\"lazy\" decoding=\"async\" width=\"522\" height=\"65\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/pq.png\" alt=\"\" class=\"wp-image-398\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/pq.png 522w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/pq-300x37.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/pq-50x6.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/pq-60x7.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/pq-100x12.png 100w\" sizes=\"auto, (max-width: 522px) 100vw, 522px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Under <strong>Development Team<\/strong>, set the <strong>Release<\/strong> configuration to your Apple Developer Account team.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp1.png\"><img loading=\"lazy\" decoding=\"async\" width=\"449\" height=\"71\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp1.png\" alt=\"\" class=\"wp-image-399\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp1.png 449w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp1-300x47.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp1-50x8.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp1-60x9.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp1-100x16.png 100w\" sizes=\"auto, (max-width: 449px) 100vw, 449px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>On the same project page, navigate to <strong>Signing &amp; Capabilities<\/strong> and then select <strong>Release<\/strong>.<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp12.png\"><img loading=\"lazy\" decoding=\"async\" width=\"706\" height=\"181\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp12.png\" alt=\"\" class=\"wp-image-400\" style=\"width:840px;height:auto\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp12.png 706w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp12-300x77.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp12-50x13.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp12-60x15.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp12-100x26.png 100w\" sizes=\"auto, (max-width: 706px) 100vw, 706px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lastly, you only need to create an archive and upload it:\n<ul class=\"wp-block-list\">\n<li>At the top of <strong>Xcode,<\/strong> select your iPhone simulator name and select<strong> <code>Any iOS Device (arm64)<\/code><\/strong>.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><a href=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp13.png\"><img loading=\"lazy\" decoding=\"async\" width=\"945\" height=\"295\" src=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp13.png\" alt=\"\" class=\"wp-image-402\" srcset=\"https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp13.png 945w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp13-300x94.png 300w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp13-768x240.png 768w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp13-50x16.png 50w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp13-60x19.png 60w, https:\/\/superpwa.com\/docs\/wp-content\/uploads\/2024\/12\/qp13-100x31.png 100w\" sizes=\"auto, (max-width: 945px) 100vw, 945px\" \/><\/a><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Next, select <strong>Product &gt; Archive<\/strong> from the macOS top menu bar, and once the archive process finishes, choose <strong>Distribute App &gt; App Store Connect &gt; Upload<\/strong>, then follow the prompts to upload your application.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>The final step is to submit your app for review: go to your apps list in <strong>App Store Connect<\/strong>, scroll to the <strong>Build<\/strong> section, click <strong>Select a build before you submit your app<\/strong>, choose the archive you just created, review and set the metadata for your app, and then click <strong>Submit for Review<\/strong>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><em>Note <\/em><\/strong>:<strong><em> once approved, your PWA will typically appear in the App Store within 24\u201348 hours.<\/em><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Guidelines\"><\/span>Guidelines<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Here_are_some_best_practices_for_preparing_and_publishing_a_PWA_Progressive_Web_App_on_the_iOS_App_Store\"><\/span><strong>Here are some best practices for preparing and publishing a PWA (Progressive Web App) on the iOS App Store:<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Adherence to Apple&#8217;s Guidelines<\/strong>: Ensure your app complies with Apple&#8217;s <a href=\"https:\/\/developer.apple.com\/app-store\/review\/guidelines\/\">App Store Review Guidelines<\/a>.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Performance Optimization<\/strong>: Optimize your PWA for swift load times and smooth interactions to enhance user experience.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>User Privacy<\/strong>: Clearly disclose any data collection practices and ensure user privacy is respected, in line with Apple&#8217;s policies.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Regular Updates<\/strong>: Maintain your app by providing regular updates that address bugs and introduce new features.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"FAQs\"><\/span>FAQ&#8217;s<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Now_lets_look_at_the_mostly_asked_FAQs\"><\/span><strong>Now, let\u2019s look at the mostly asked FAQ\u2019s.<\/strong><span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Why should I publish my PWA on the iOS App Store?<\/strong>\n<ul class=\"wp-block-list\">\n<li>Publishing on the App Store improves discoverability and allows users to download and use your PWA like a native app.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Do I need a Mac to publish a PWA on iOS?<\/strong>\n<ul class=\"wp-block-list\">\n<li>Yes, a Mac is required to use Xcode, which is essential for submitting apps to the iOS App Store.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Can I update my PWA after publishing?<\/strong>\n<ul class=\"wp-block-list\">\n<li>Yes, you can update your PWA&#8217;s wrapper or underlying web app and resubmit to the App Store.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Does Apple charge for app submissions?<\/strong>\n<ul class=\"wp-block-list\">\n<li>Yes, Apple requires an annual subscription to the Apple Developer Program, which costs $99.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>What tools can I use to create a native wrapper?<\/strong>\n<ul class=\"wp-block-list\">\n<li>With SuperPWA, you don\u2019t need to put in any extra effort\u2014simply generate the <strong>iOS APK package<\/strong>, and you\u2019re ready to launch!<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><em>That\u2019s it for this tutorial. If you want send Push notification on iOS please follow this tutorial: <\/em><a href=\"https:\/\/superpwa.com\/docs\/article\/how-to-setup-push-notifications-using-fcm-for-apple-pwa-app\/\" data-type=\"link\" data-id=\"https:\/\/superpwa.com\/docs\/article\/how-to-setup-push-notifications-using-fcm-for-apple-pwa-app\/\">https:\/\/superpwa.com\/docs\/article\/how-to-setup-push-notifications-using-fcm-for-apple-pwa-app\/<\/a><em> <\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>If you need more help or have any concerns or suggestions, please fill out the form below.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Progressive Web Apps (PWAs) are changing how we think about web and mobile applications. They combine the best features of websites and mobile apps, such as offline access, push notifications, and responsive designs. This makes PWAs a great choice for users and developers alike, offering a smooth experience across different&#8230;<\/p>\n","protected":false},"author":2,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[],"ht-kb-tag":[],"class_list":["post-389","ht_kb","type-ht_kb","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/ht-kb\/389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/comments?post=389"}],"version-history":[{"count":32,"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/ht-kb\/389\/revisions"}],"predecessor-version":[{"id":662,"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/ht-kb\/389\/revisions\/662"}],"wp:attachment":[{"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/media?parent=389"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/ht-kb-category?post=389"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/superpwa.com\/docs\/wp-json\/wp\/v2\/ht-kb-tag?post=389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}