IOS
iOS App Customization and Submission Guide
This guide outlines the steps to customize the K12NET app with your school’s branding and submit it to the iOS App Store. By using PWABuilder.com for app packaging and adhering to the steps below, the submission process will be smooth and efficient.
Preparation: Ensure you have an Apple Developer account and access to a Mac with the latest version of Xcode installed. It’s crucial to be familiar with the Apple App Store Review Guidelines to ensure your app complies with Apple's standards.
Step 1: Customize Your App with PWABuilder
- Go to PWABuilder.com.
- Enter the URL of your K12NET PWA and initiate the analysis.
- After the evaluation, proceed to build your iOS package, customizing icons, splash screens, and other settings as required.
- Download the iOS project package provided by PWABuilder.
Step 2: Open and Configure Your Project in Xcode
- Open the downloaded project in Xcode.
- Incorporate your school’s branding elements, including the app name, version, icons, and splash screens into the project settings.
- Confirm that your app’s Bundle Identifier is correctly set as registered in your Apple Developer account.
-
Update Setting.swift file Change the allowOrigin variable in the Setting.swift file as shown below so that the app will stay in the webview for all links that are from the k12net.com domain.
let allowedOrigins: [String] = ["k12net.com"]
-
Update WebView.swift file Change the matchingHostOrigin variable in the WebView.swift file as shown below so that the app will stay in the webview for all links that are from the k12net.com domain.
let matchingHostOrigin = allowedOrigins.first(where: { requestHost.HasSuffix($0) })
Step 3: Integrate Firebase Notifications
-
Receive the
GoogleService-Info.plist
File: We will supply theGoogleService-Info.plist
file tailored to your app for integrating Firebase notifications. -
Add the File to Your Project: Drag and drop the
GoogleService-Info.plist
file into the root of your project directory in Xcode, ensuring it’s added to your app's target. - Enable Push Notifications: In the "Signing & Capabilities" tab of your app’s target settings, add the "Push Notifications" capability.
- Activate Background Modes: Add the "Background Modes" capability and enable "Remote notifications" to allow your app to receive notifications when not actively in use.
-
Update AppDelegate.swift file Although all necessary firebase related code is already added to the project, you may need to update the
AppDelegate.swift
file to uncomment the code that handles push notifications.FirebaseApp.configure() Messaging.messaging().delegate = self UNUserNotificationCenter.current().delegate = self let authOptions: UNAuthorizationOptions = [.alert, .badge, .sound] UNUserNotificationCenter.current().requestAuthorization(options: authOptions, completionHandler: {_, _ in }) application.registerForRemoteNotifications()
Step 4: Test Your App
- Utilize Xcode’s simulator or a physical device to conduct thorough testing of the app, focusing on functionality, design, and guideline compliance.
Step 5: Prepare for Submission
- Archive your app through Xcode by selecting Product > Archive.
- Use the Distribute App option to upload your build to App Store Connect.
Step 6: Submit Your App on App Store Connect
- Log into App Store Connect and choose your app.
- Fill in your app’s metadata, including descriptions, keywords, and screenshots.
- Select the build you uploaded for submission.
- Review all details and submit your app for review.
Review and Launch: The review process by Apple can take from a few days to several weeks. Once approved, your app will be available on the App Store under your school’s branding.
Important:
- Please provide us with the APNs Authentication Key by creating it in the Apple Developer Member Center and securely sending the
.p8
file along with your Key ID and Apple Team ID. This key is essential for us to send push notifications on behalf of your app.
By following these steps, you will successfully publish your school’s branded version of the K12NET app on the iOS App Store, enhancing your community's engagement and digital presence.