{"id":75,"date":"2025-07-21T07:18:55","date_gmt":"2025-07-21T07:18:55","guid":{"rendered":"https:\/\/documentation.iqonic.design\/prokit-flutter\/?p=75"},"modified":"2025-07-21T08:29:16","modified_gmt":"2025-07-21T08:29:16","slug":"ios-configuration","status":"publish","type":"post","link":"https:\/\/documentation.iqonic.design\/prokit-flutter\/ios-configuration\/","title":{"rendered":"\ud83c\udf4eiOS Configuration"},"content":{"rendered":"<div class=\"nolwrap\">\n<p>\ud83d\udd52&nbsp;<strong>Estimated Reading Time<\/strong>: 2 minutes<br>\ud83d\udcc2&nbsp;<strong>Location<\/strong>: Configurations &amp; Customization \u2192 iOS Configuration<\/p>\n\n\n\n<p>\u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcf2<strong>\u00a0Setting Up iOS for <strong>ProKit<\/strong>  Project<\/strong><\/h2>\n\n\n\n<p>This guide explains the step-by-step process for configuring your iOS app in Xcode for your ProKit mobile application.<\/p>\n\n\n\n<p id=\"block-88291e9d-e043-4c61-b217-ad23ef93cbf5\">\u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u2705 <strong>1. Open the iOS Project in Xcode<\/strong><\/h2>\n\n\n\n<p>To begin setting up your app for iOS, follow these steps:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open\u00a0<strong>Xcode<\/strong>\u00a0on your Mac.<\/li>\n\n\n\n<li>Click\u00a0<strong>File \u2192 Open<\/strong>\u00a0or use shortcut\u00a0<strong>Cmd + O<\/strong>.<\/li>\n\n\n\n<li>Navigate to your Flutter project folder.<\/li>\n\n\n\n<li>Open the\u00a0<strong>ios<\/strong>\u00a0directory.<\/li>\n\n\n\n<li>Look for a file with the extension\u00a0<strong>\u201c.xcworkspace\u201d<\/strong>\u00a0or\u00a0<strong>\u201c.xcodeproj\u201d<\/strong>\u00a0within the\u00a0<strong>ios<\/strong>\u00a0folder.<br>This file represents your Xcode project for the Flutter app.<\/li>\n\n\n\n<li>Select the\u00a0<strong>\u201c.xcworkspace\u201d<\/strong>\u00a0or\u00a0<strong>\u201c.xcodeproj\u201d<\/strong>\u00a0file and click on the \u201cOpen\u201d button.<\/li>\n<\/ol>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p>\u2705 Make sure you\u2019ve already installed Flutter and all iOS dependencies before opening in Xcode.<\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">\u270f\ufe0f<strong> 2. Change the Bundle Name<\/strong><\/h2>\n\n\n\n<p>The&nbsp;<strong>Bundle Name<\/strong>&nbsp;is the name that appears under your app icon on iOS devices.<\/p>\n\n\n\n<p>To change it:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Select your project file icon in the Group and Files panel.<\/li>\n\n\n\n<li>In the Xcode navigation pane, find and select your project file (usually denoted by the blue icon with your project name).<\/li>\n\n\n\n<li>In the main editor area, you should see the project settings. Select the target for which you want to change the Bundle Name. Targets are usually listed under the\u00a0<strong>Targets<\/strong>\u00a0section in the project settings.<\/li>\n\n\n\n<li>With the target selected, navigate to the\u00a0<strong>\u201cInfo\u201d<\/strong>\u00a0tab.<\/li>\n\n\n\n<li>Scroll down to the\u00a0<strong>\u201cCustom iOS Target Properties<\/strong>\u201d section, and locate the<strong>\u00a0\u201cBundle Name\u201d<\/strong>\u00a0key.<\/li>\n\n\n\n<li>Double-click on the value field next to\u00a0<strong>\u201cBundle Name\u201d<\/strong>\u00a0and enter the desired name for your bundle.<\/li>\n\n\n\n<li>After changing the Bundle Name, make sure to save your changes by clicking on the\u00a0<strong>\u201cFile\u201d<\/strong>\u00a0menu and selecting\u00a0<strong>\u201cSave\u201d<\/strong>\u00a0or using the keyboard shortcut\u00a0<strong>\u201cCommand + S\u201d<\/strong>.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/documentation.iqonic.design\/kivicare-pharma\/wp-content\/uploads\/sites\/16\/2025\/07\/image-45.png\"><img decoding=\"async\" src=\"https:\/\/documentation.iqonic.design\/kivicare-pharma\/wp-content\/uploads\/sites\/16\/2025\/07\/image-45.png\" alt=\"\" class=\"wp-image-408\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd10 <strong>3. Change the Bundle Identifier<\/strong><\/h2>\n\n\n\n<p>The&nbsp;<strong>Bundle Identifier<\/strong>&nbsp;must be&nbsp;<strong>unique<\/strong>&nbsp;for every iOS app and is required for publishing on the App Store.<\/p>\n\n\n\n<p>To update:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Select your project file icon in the Group and Files panel.<\/li>\n\n\n\n<li>Under your\u00a0<strong>Target<\/strong>, open the\u00a0<strong>General<\/strong>\u00a0tab.<\/li>\n\n\n\n<li>In the\u00a0<strong>Identity<\/strong>\u00a0section, update the\u00a0<strong>Bundle Identifier<\/strong>\u00a0(e.g.,\u00a0<code>com.yourcompany.kivicare<\/code>).<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/documentation.iqonic.design\/kivicare-pharma\/wp-content\/uploads\/sites\/16\/2025\/07\/image-46.png\"><img decoding=\"async\" src=\"https:\/\/documentation.iqonic.design\/kivicare-pharma\/wp-content\/uploads\/sites\/16\/2025\/07\/image-46.png\" alt=\"\" class=\"wp-image-409\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\uddbc\ufe0f <strong>4. Change the App Icon<\/strong><\/h2>\n\n\n\n<p>To change your app\u2019s launcher icon:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Visit the Website \u2013\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/icon.kitchen\/i\/H4sIAAAAAAAAA6tWKkvMKU0tVrKqVkpJLMoOyUjNTVWyKikqTa3VUcrNTynNAUlGKyXmpRTlZ6Yo6Shl5hcDyfLUJKXYWgA19PHYPwAAAA%3D%3D\" target=\"_blank\" rel=\"noreferrer noopener\">Icon Kitchen<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Follow these steps:\n<ul class=\"wp-block-list\">\n<li>Choose\u00a0<strong>Asset Type<\/strong><\/li>\n\n\n\n<li>Basic\u00a0<strong>Configuration<\/strong><\/li>\n\n\n\n<li>Set\u00a0<strong>Device Type<\/strong><\/li>\n\n\n\n<li>Download the\u00a0<strong>ZIP file<\/strong><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Inside the zip, you will find an\u00a0<strong>ios<\/strong>\u00a0folder.<\/li>\n\n\n\n<li>Copy everything from it and paste it into:<br><strong>ios\/Runner\/Assets.xcassets\/AppIcon.appiconset<\/strong><\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd10 <strong>5. Enable Google Sign-In<\/strong><\/h2>\n\n\n\n<p>To set up Google Login for your app:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Register your app on Firebase.<\/li>\n\n\n\n<li>Make sure that\u00a0<strong>GoogleService-Info.plist<\/strong>\u00a0is the name of the file you downloaded from Firebase.<\/li>\n\n\n\n<li>Move or copy the\u00a0<strong>GoogleService-Info.plist<\/strong>\u00a0into the\u00a0<strong>[My_project]\/ios\/Runner<\/strong>\u00a0folder.<\/li>\n\n\n\n<li>Open Xcode, right-click on the\u00a0<strong>Runner<\/strong>\u00a0directory, and select\u00a0<strong>Add files into Runner<\/strong>.<\/li>\n\n\n\n<li>Select the\u00a0<strong>GoogleService-Info.plist<\/strong>\u00a0file from the file manager.<\/li>\n\n\n\n<li>In the dialog that appears, select the\u00a0<strong>Runner<\/strong>\u00a0target.<\/li>\n\n\n\n<li>Add the following\u00a0<strong>CFBundleURLTypes<\/strong>\u00a0attributes into the\u00a0<strong>[My_project]\/ios\/Runner\/Info.plist<\/strong>\u00a0file.<\/li>\n\n\n\n<li>Run your project.<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">Open Info.plist file in Xcode.<br><br>&lt;key&gt;CFBundleURLTypes&lt;\/key&gt;<br>&lt;array&gt;<br>    &lt;dict&gt;<br>        &lt;key&gt;CFBundleTypeRole&lt;\/key&gt;<br>        &lt;string&gt;Editor&lt;\/string&gt;<br>        &lt;key&gt;CFBundleURLSchemes&lt;\/key&gt;<br>        &lt;array&gt;<br>            &lt;!-- Replace this value with the REVERSED_CLIENT_ID copied from GoogleService-Info.plist --&gt;<br>            &lt;string&gt;Enter your REVERSED_CLIENT_ID&lt;\/string&gt;<br>        &lt;\/array&gt;<br>    &lt;\/dict&gt;<br>&lt;\/array&gt;<code><\/code><\/pre>\n\n\n\n<p>\ud83d\udd0d Replace&nbsp;<strong>YOUR_REVERSED_CLIENT_ID<\/strong>&nbsp;with the value from your&nbsp;<strong>.plist<\/strong>&nbsp;file.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83c\udf4f <strong>6<\/strong>. <strong>Enable Apple Sign-In<\/strong><\/h2>\n\n\n\n<p>To enable&nbsp;<strong>Sign in with Apple<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open the project in\u00a0<strong>Xcode.<\/strong><\/li>\n\n\n\n<li>Go to the Project Editor, choose your target, and open the\u00a0<strong>Signing &amp; Capabilities<\/strong>\u00a0panel.<\/li>\n\n\n\n<li>Click the Library button (+) to open the Capabilities library (or choose Editor &gt;\u00a0<strong>Sign in with Apple<\/strong>).<\/li>\n\n\n\n<li>Run your project.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image\"><a href=\"https:\/\/documentation.iqonic.design\/kivicare-pharma\/wp-content\/uploads\/sites\/16\/2025\/07\/image-47.png\"><img decoding=\"async\" src=\"https:\/\/documentation.iqonic.design\/kivicare-pharma\/wp-content\/uploads\/sites\/16\/2025\/07\/image-47.png\" alt=\"\" class=\"wp-image-410\" \/><\/a><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udd14<strong> 7. Enable iOS Notifications (APNs)<\/strong><\/h2>\n\n\n\n<p>To set up push notifications:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Follow\u00a0<a href=\"https:\/\/documentation.onesignal.com\/docs\/home#step-3-generate-push-certificate\" target=\"_blank\" rel=\"noopener\">Apple APNs Certificate setup<\/a>\u00a0(Step 3 in Firebase setup).<\/li>\n\n\n\n<li>In your project, open:<br><strong>ios\/Runner\/AppDelegate.swift<\/strong><\/li>\n\n\n\n<li>Add the following code inside the\u00a0<strong>AppDelegate<\/strong>\u00a0class:<\/li>\n<\/ol>\n\n\n\n<pre class=\"wp-block-preformatted\">if #available(iOS 10.0, *) {<br>  UNUserNotificationCenter.current().delegate = self as? UNUserNotificationCenterDelegate<br>}<\/pre>\n\n\n\n<p>\u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013<\/p>\n\n\n\n<p><strong>\ud83c\udf4e <strong>Video Reference: How to Build ProKit Flutter App for iOS<\/strong><\/strong><\/p>\n\n\n\n<p><\/p>\n\n\n\n<p>This video walkthrough starts with an introduction and explains how to <strong>set the path to the iOS folder<\/strong> and run <code>pod install<\/code> to fetch all required dependencies. It then demonstrates how to <strong>open the project in Xcode<\/strong> and proceed with customization. You&#8217;ll learn how to <strong>change the Bundle Identifier<\/strong>, <strong>update the Application Version Code<\/strong>, and <strong>rename the Application<\/strong> in the <code>info.plist<\/code> file. The video also shows how to <strong>change the Application Icon<\/strong> and finally how to <strong>run the app on an iOS simulator or device<\/strong>.<\/p>\n\n\n\n<p><strong>Watch the full video here<\/strong>:<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube wp-embed-aspect-16-9 wp-has-aspect-ratio\"><div class=\"wp-block-embed__wrapper\">\n<iframe loading=\"lazy\" title=\"How to build ProKit Flutter in iOS\" width=\"500\" height=\"281\" src=\"https:\/\/www.youtube.com\/embed\/Hg9S6AKzWxE?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe>\n<\/div><\/figure>\n\n\n\n<p>\u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u2705 Done!<\/h3>\n\n\n\n<p>\ud83c\udf89 You\u2019ve successfully completed your\u00a0<strong>iOS configuration<\/strong>\u00a0for the ProKit app. Your app is now ready for testing and deployment on iOS devices.<\/p>\n\n\n\n<p><\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\ud83d\udd52&nbsp;Estimated Reading Time: 2 minutes\ud83d\udcc2&nbsp;Location: Configurations &amp; Customization \u2192 iOS Configuration \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 \u2013 [&hellip;]<\/p>\n","protected":false},"author":17,"featured_media":0,"parent":52,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-75","post","type-post","status-publish","format-standard","hentry","category-prokit-flutter"],"featured_image_src":null,"author_info":{"display_name":"flutteradminiq","author_link":"https:\/\/documentation.iqonic.design\/prokit-flutter\/author\/flutteradminiq\/"},"children":[],"_links":{"self":[{"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/posts\/75","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/comments?post=75"}],"version-history":[{"count":4,"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/posts\/75\/revisions"}],"predecessor-version":[{"id":83,"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/posts\/75\/revisions\/83"}],"up":[{"embeddable":true,"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/posts\/52"}],"wp:attachment":[{"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/media?parent=75"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/categories?post=75"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/documentation.iqonic.design\/prokit-flutter\/wp-json\/wp\/v2\/tags?post=75"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}