After you have exported your apps, you can open the iOS app project in Xcode and optionally modify it before submitting it to Apple. This step is optional.
Advanced iOS Xcode Options (Classic Builder)
This document covers the optional procedure of customizing your iOS app within the Xcode project
Xcode project options
Within the Config.swift file, you can change the most crucial settings easily:
Variable | Values | Description |
---|---|---|
openallexternalurlsinsafaribydefault | true or false | Set to false to not open all links in Safari browser |
safariwhitelist | List | Add domains here that should always be opened in Safari, regardless of what the openallexternalurlsinsafaribydefault option is set to; to add another domain, insert another host like so: ["alwaysopeninsafari.com", "google.com", "m.facebook.com"] please enter the host exactly how you link to it (with or without www, but always without http/https) |
safariblacklist | List | Add domains here that should never be opened in Safari, regardless of what the openallexternalurlsinsafaribydefault option is set to; to add another domain, insert another host like so: ["alwaysopeninsafari.com", "google.com", "m.facebook.com"] please enter the host exactly how you link to it (with or without www, but always without http/https) |
preventoverscroll | true or false | Set to true to remove swiping bounce animation (recommended for most cases) |
disablecallout | true or false | Set to true to remove 3D touch preview/callout windows (recommended for most cases) |
deletecache | true or false | Set to true to delete the app cache with every launch of your app |
okbutton | optional | Set the text label of the "OK" buttons |
bigstatusbar | true or false | Set to true to enhance the Status Bar size |
useloadingsign | true or false | Set to false to hide the loading sign while loading your app data |
hideverticalscrollbar | true or false | Set to false to hide the vertical scrollbar |
hidehorizontalscrollbar | true or false | Set to false to hide the horizontal scrollbar |
useragent_iphone | optional | Define a customized UserAgent on iPhone (or leave it empty to use the default iOS UserAgent) |
useragent_ipad | optional | Define a customized UserAgent on iPad (or leave it empty to use the default iOS UserAgent) |
activatefirstrundialog | true or false | Set to true to activate the "First run" dialog |
firstrunmessagetitle | optional | Set the title label of the "First run" dialog |
firstrunmessage | optional | Set the ext label of the "First run" dialog |
askforpushpermissionatfirstrun | true or false | Set to true to ask your users for push notifications permission at the first run of your application. Set it to "false" to never ask or to ask with a registerpush:// link/button/redirection in your web app later |
offlinetitle | optional | Set the title label of the Offline dialog |
offlinemsg | optional | Set the text of the Offline dialog |
screen1 | optional | Set the text label 1 of the Offline screen |
screen2 | optional | Set the text label 2 of the Offline screen |
offlinebuttontext | optional | Set the text label of the Try again button |
activateratemyappdialog | true or false | Set to true to activate the "Rate this app on App Store" dialog |
activatefacebookfriendsdialog | true or false | Set to true to activate the "Follow on Facebook" dialog |
becomefacebookfriendstitle | optional | Set the title label of the "Follow on Facebook" dialog |
becomefacebookfriendstext | optional | Set the text label of the "Follow on Facebook" dialog |
becomefacebookfriendsyes | optional | Set the text label of the "Yes" button of the "Follow on Facebook" dialog |
becomefacebookfriendsno | optional | Set the text label of the "No" button of the "Follow on Facebook" dialog |
becomefacebookfriendsurl | optional | Set the URL of your Facebook fan page (e.g., "https://facebook.com/OnlineAppCreator/") |
imagedownloadedtitle | optional | Set the title label of the "Image saved to your photo gallery" dialog box |
imagenotfound | optional | Set the title label of the "Image was not found" dialog box |
statusbarbackgroundcolor | Color | Set the background color of the iOS status bar. Hiding the status bar is not that good anymore in terms of Apple GUI guidelines in combination with web content, so it's not the default option and would require some further modification. The best choice would be to use the included the features for styling the background and text color of the status bar (e.g., the same color as the app header). |
darkmodestatusbarbackgroundcolor | Color | Set the background color of the iOS status bar while the user is in iOS Dark Mode |
statusbarcolor | white or black | Set the text color of the iOS status bar |
darkmodestatusbarcolor | white or black | Set the text color of the iOS status bar while the user is in iOS Dark Mode |
preventsleep | true or false | Set to true to prevent the device from going into sleep while the app is active |
qrcodelinks | 0 or 1 or 2 | Set to 0 to open QR Code links in your own main window; set to 1 to open the links in a new popup; set to 2 to open QR Code links in Safari |
ShowExternalLink | optional | Set to true to register an iOS-wide URL scheme (like appratioapp293994://) to open links in your app from other apps; example format: appratioapp293994://url?link=https://www.google.com (would open google.com in your app) |
remainSplashOption | optional | Set to true if you want to display the Splash Screen until your app content was loaded successfully |
cssString | optional | Set any CSS classes to inject them into the app rendered. Leave empty in order to apply only CSS from the apprat.io editor |
offlinelocalhtmlswitch | true or false | Set to true if you want to load the index.html of the "local-html" folder if the user is online |
extentionARY | List | Add the file formats that should trigger the file downloader functionality (e.g., .pdf, .docx, ...) |
loadingSigncolor | Color | Set a color for the loading sign indicator |
splshscreencolor | Color | Set a background color for the splash screen |
InAppPurchAppBundleIdentifier | optional | Set the Default App Identifier in order to activate In-App Purchase API for the default IAP product (details can be configured in App Store Connect) |
IAPSharedSecret | optional | Set the App Secret in order to activate In-App Purchase API (details can be configured in App Store Connect) |
iapsuccessurl | optional | Set the Default URL that should be opened after a successful In-App Purchase/In-App Subscription through the app wrapper. The URL could be "https://www.example.org/thanks.php," for example, and thanks.php could set the lifetime cookie for premium content. |
iapexpiredurl | optional | Set the Default URL that should be opened after an In-App Subscription through the app wrapper expired. The URL could be "https://www.example.org/expired.php," for example, and expired.php could remove the cookie for premium content |
oneSignalID | optional | Required for OneSignal push functionality |
kPushEnabled | true or false | Set to true to activate the OneSignal push functionality |
kPushEnhanceUrl | true or false | Set to true if you want to extend Main URL requests by ?onesignal_push_id=XYZ |
kPushReloadOnUserId | true or false | Set to true if the app content should be reloaded after receiving the UserID from OneSignal |
kFirebasePushEnabled | true or false | Set to true to connect your app to the Firebase Push Services |
kFirebaseEnhanceUrl | true or false | Set to true if you want to extend app main URL requests by ?firebase_push_id=XYZ |
AdmobBannerID | optional | Insert your AdMob ID for banner ads |
AdmobinterstitialID | optional | Insert your AdMob ID for interstitial ads |
showBannerAd | true or false | Set to true if you want to show AdMob banner ads |
showFullScreenAd | true or false | Set to true if you want to show AdMob interstitial ads after X clicks |
showadAfterX | optional | Define number X to show an AdMob interstitial ads after each X (e.g., 10) clicks |
Also, since the apps are exported in open Swift projects, you can build your own code-side extensions and API bridges. This allows total flexibility. Feel free to get in touch if you have any questions - otherwise, have fun!