Getting Started

Installation

Follow the steps below to setup your app :

  • Wowonder Script, you can get it from Here
  • Download Xcode 2022 Here. Please remember, always use the latest code, latest visual studio, and other latest product versions of products

Here are steps to install the full Xcode application.

  • Open the App Store on your Mac and search for Xcode.
  • Download Xcode from the App Store.
  • After your download is complete, launch Xcode.
  • Enter your administrator account credentials.
  • Unzip the WoWonderMessenger-IOS archive, extract it to a new folder, and then open the folder.
  • In the main folder, you will find the solution (Name: WoWonder.xcworkspace Type: Xcode work Space) double click on it and wait till everything is loaded.
  • Install all Project PODS for your Project, Open terminal at folder.

It will take some time, Wait until it is completed.

Verify Application

  • You can get a purchase code from Envato.
  • Get Your API Server_Key which is located here copy it.

Create your Cert key for your application from Doughouzlight-License
QuickDate Provides a Triple DES algorithm encryption system + AES 256-Bit Encryption in your mobile application to save your own information and your own server-side keys from hackers and crackers, once you are a real buyer you will not fear any cracking or unpacking IPA  actions by eligible black hat people, which may lead to leaking your sensitive server-side data to the public

Once you have the key you will be able to add the key to your AppConstant Struct.

Theme Settings

Application Name

From your main solution right click on the Wowonder > General > Display Name Change the names as you like and the versions also depend on your AppStoreConnect the last version if you have one.

Colour and Theme

To customize and change the main color of the application follow the steps below.

For Theme Setting Go to ColorSettings file and in theme extension. You can change theme accordingly.

Packge Name

Change the package name by edit “Bundle identifier” for App “TARGETS”

Logo Icons and splash Screen

Splash Screen is made of ic_splash icon, ic_heart_vector and a label. You can change the ic_splash and ic_heart_vector icon from assets folder

Change logo of app by changing the icons in the file named AppIcon in assets folder.

For the accuracy of the icon and logo, please use this website https://appicon.co

Language and Translate

App made it for you easy to translate your own words in your app and change the labels as you want, our iOS app support many languages to be added, so let’s start.

English strings (default locale), /values/strings.xml:

Turkish strings (es locale), /values-es/strings.xml:

By default, the folder Localizable > String.xml contains all the English words in the app.

User can add any language they need, by adding it below

General Setup

OneSignal Notification

What is OneSignal?

OneSignal is a high-volume and reliable push notification service for websites and mobile applications. They support all major native and mobile platforms by providing dedicated SDKs for each platform, a Restful server API, and an online dashboard for marketers to design and send push notifications.

  • Sign in to the Onesignal Console at https://onesignal.com.
  • Click on New App/Website
  • Choose your app name and platform then click next.
  • Fill out the form with your website information, then click save.
  • On the next page, ignore the page and click on Finish.
  • On the top navbar, click on Keys & IDs
  • Grab your OneSignal App ID & Rest API Key then go to Admin Panel -> API Settings -> Push Notifications Settings
  • Edit the following options for IOS:
    1. OneSignal APP ID – Enter the OneSignal App ID you created in the previous chapter
    2. REST API Key – Enter the Rest API Key you created in the previous chapter
  • Finally, go to the file ControlSettings Struct in the project and add the app id.

Google Map/Places

Google Maps API is required for GEO and viewing Google Maps.
  • Go to the Google API Manager console and login using your Google credentials.
  • After this click on Create Project link to create a new project.
  • Enter Project Name and click on Create button.
  • Select the project from the dropdown menu beside Google Cloud Platform.
  • Click on APIs & Services then click on +ENABLE APIS AND SERVICES.
  • Search for Maps Embed API and enable it.
  • Search for Maps Static API and enable it.
  • Once enabled, click on Credentials, on the top nav-bar, click on +Create credentials then click on the API key
  • Grab the key and Click Close.
  • Finally, go to the file info.plist in the project and add the key.

Audio And Video Calls Integration

WoWonder developers made it as easy for you as they can to implement your own Video/Audio calls in your application, All you need is to add your keys depending on your chosen framework and you will be done follow the steps below to understand more about it.

WoWonder developers made it as easy for you as they can to implement your own Video/Audio calls in your application, All you need is to add your keys depending on your chosen framework and you will be done follow the steps below to understand more about it.

IntegrationsSuportsPlatforms
TwilioAudio/VideoWebsite/Mobile/Desktop Messenger All are integrated
Agora.ioAudio/VideoWebsite/Mobile Messenger All are integrated

Setup Twilio: 

—————————————————————————————————————————————————————————————————–

Setup Agora:

  • Sign up here to create an Agora account. After sign-up, you can log in here.
  • Once you finish the sign-up process, you can create an Agora project in Agora Console, To create an Agora project, do the following:
    1. Enter the Project Management page.
    2. Click Create.
    3. Follow the on-screen instructions to enter a project name and use case, and check Secured mode: APP ID + Token (Recommended) as the authentication mechanism.
    4. Click Submit. You can now see the project on the Project Management page.
  • To copy the App ID, find your project on the Project Management page in Agora Console, and click the copy icon to the right of the App ID.
  • To get an App Certificate, do the following:
    1. On the Project Management page, click the edit icon for the project you want to use.
    2. Click the copy icon under Primary Certificate.
  • Generate a Customer ID and Customer Secret
    1. In Agora Console, click the account name in the top right corner, and click RESTful API from the drop-down list to enter the RESTful API page.
    2. Click Add a secret, and click OK. A set of Customer ID and Secret is generated.
    3. Click Download in the Customer Secret column. Read the pop-up window carefully, and save the downloaded key_and_secret.txt file in a secure location.
  • Go to Admin Panel -> Settings -> Chat & Video / Audio -> Agora API Configuration
  • Edit the following options:
    1. App ID – Your APP ID we got one previous chapter
    2. App Certificate – Your App Certificate we got one previous chapter
    3. Customer ID – Enter the Customer ID you downloaded from key_and_secret.txt.
    4. Customer Secret – Enter the Customer ID you downloaded from key_and_secret.txt

From your AppSettings.swift class be sure you enable Twilio Framework and disable all other frameworks such as Agora and etc as bellow

Chat System

  • In your application, you have two types of connections by socket.io or by rest API
  • If you want to use Socket with API then set true here, or you just need API, then false here.
 static let socketChat = true
  • if you are using a connection type socket system you should add a port socket for your server
static let socketPort = "449"
  • You can enable to show alert toast when the user is online now
cell?.switchStutes.isHidden = true
  • Set the variable below to True or False to give the user some features such as chat archive, chat mute mode…etc
let notify = chatUser?.mute?.notify
let pin = chatUser?.mute?.pin
let archive = chatUser?.mute?.archive

Options chat heads (Bubbles)

Chat heads are circle profile icons that poverty another context on the screen when you receive a new message on your app. tap on one, and you can read the full conversation in a pop-up, as well as respond, without leaving any app you’re currently in.

Advertisment Settings

Integrate AdMob (Google ADS)

After creating a Google AdMob account and you are all ready to start your own AdMob ads system on your mobile app.

You will need to follow a few steps before seeing your ADS appearing in your mobile application.

  • Find your app IDs & ad unit IDs
    An app ID is a unique ID number assigned to your apps when they’re added to AdMob. The app ID is used to identify your apps.
  • An ad unit ID is a unique ID number assigned to each of your ad units when they’re created in AdMob. The ad unit ID is added to your app’s code and used to identify ad requests from the ad unit.
  • Find an app ID:
  1. Sign in to your AdMob account at https://apps.admob.com.
  2. Click Apps in the sidebar.
  3. Click View all apps.
  4. Click the icon in the App ID column to copy the ID of an app.
  • Find an ad unit ID:
    1. Sign in to your AdMob account at https://apps.admob.com.
    2. Click Apps in the sidebar.
    3. Click the name of the app associated with the ad unit. Note: If you don’t see it in the list of recent apps, click View all apps. Then, click the name of the app.
    4. Click Ad units in the sidebar.
    5. Click the icon in the Ad unit ID column to copy the ID of an ad unit.

Change the Key In APP Setting Struct

Social Logins

FaceBook Login

  • Log in to your Facebook account.
  • Go to Facebook for Developers, click on My Apps and press Create App.
  • Select Consumer. and click Next.
  • Set the Display Name of your application.
  • Enter the Contact Email.
  • Click on Create App.
  • Navigate to Facebook Login and press the Set up button.
  • Select IOS from the displayed platforms.
  • Add your package name that uniquely identifies your IOS app
  • Put that key in Info.plist file

Apple Login

Login Execution is written in Login View Controller Class

Google Login

  • Start Integrating Google Sign-In into Your IOS App 
  • After this click on Create Project link to create a new project.
  • Enter Project Name and click on Create button.
  • Select the project from the dropdown menu beside IOS.
  • Add Package name from your Project Solution -> Bundle Identifire .
  • Click on APIs & Services then click on +ENABLE APIS AND SERVICES.
  • Search for Google+ and enable Google+ API.
  • Once enabled, click on Credentials, on the top nav-bar, click on +Create credentials then click on the API key
  • Select Application restrictions  IOS apps with Package name from your Project Solution -> Bundle Identifire .
  • Select API restrictions specify the enabled APIs that this key can call
  • Grab the key and Click Save.
  • Once enabled, click on Credentials, on the top nav-bar, click on +Create credentials then click on Oauth client ID
  • In OAuth consent screen page, choose External, fill the form and click Save and Continue.
    • In Authorized domains section, make sure to add your own domain name with or without www.
  • On the next page, you’ll see the button Add or remove scopes, click on it.
    • Look for auth/userinfo.email and select it.
    • Look for auth/userinfo.profile and select it.
    • Scroll down and click on UPDATE.
  • If you successfully added the new scopes, click on SAVE AND CONTINUE.
  • Ignore the Test users section and click on SAVE AND CONTINUE.
  • Scroll down and click on BACK TO DASHBOARD.
  • On the next page, click on PUBLISH APP and publish your application.
  • On the left nav bar, click on Credentials, on the top nav-bar, click on +Create credentials then Oauth client ID
    • In Application type, choose web application.
    • In Authorized redirect URIs, add the following URIs:
      1. https://yourwebsite.com/login-with.php?provider=Google
      2. https://www.yourwebsite.com/login-with.php?provider=Google
  • Put that key in Info.plist file

Publish the App

Publish App To AppStore

This step-by-step post assumes that you are already enrolled in the Apple Developer Program, your app follows Apple’s App Review and Human Interface Guidelines, and you’re ready to ship.

1. Code Signing: Create an iOS distribution provisioning profile and distribution certificate

The development provisioning profile and development certificate that you’ve been using are only for specific devices. In order to distribute your app to beta testers or to users through the App Store, you’ll need a separate distribution provisioning profile and distribution certificate.

The easiest way to do this is through Xcode. If automatic signing is enabled, Xcode will create and manage certificates, signing identities, and handle device registration for you. If automatic signing is already enabled or if you don’t need help with signing, you can skip to step two.

(In some cases, you might prefer manual signing. Here‘s an in-depth tutorial on how to manually sign your app. Keep in mind that all targets in a bundle should use the same signing method.)

  • First, add your Developer Program account to Xcode if you haven’t already. From the top menu, select Xcode, then choose Preferences.
  • Click on Accounts. In the bottom left corner of the window, press the + sign, then Add Apple ID…
  • Enter the Apple ID and password you use for the Apple Developer Program, then click Sign In.
  • Next, enable automatic signing. From the Project Editor, choose a target and select General.
  • Scroll down to the “Signing” section and click on the triangle icon to expand the settings.
  • Click on the box to Automatically manage signing. Select your team.

When you connect a new device to your Mac, Xcode will automatically detect and register it to your team provisioning profile. Note that in order to launch your app on a device, the device needs to be registered on your team provisioning profile.

2. Create an App Store Connect record for your app

GET AN APP STORE CONNECT ACCOUNT BY:
  • Creating your own App Store Connect organization and being the team agent. Sign in with the Apple ID you used to enroll in the Apple Developer Program
  • Or being invited by an existing organization as a user with an Admin, Technical, or App Manager role. Read more details about App Store Connect user accounts here.
ADD A NEW APP

In the App Store Connect dashboard, select My Apps.

Click on the + sign in the upper left-hand corner, then New App.

To create a new App Store Connect record, you’ll need these details: platform, app name, default language, bundle ID, and SKU. You can’t really change these details later, so be sure of what you enter.

  • Use keywords in your app name to optimize for discovery.
  • The bundle ID must be an exact match of the bundle identifier in your Xcode project Info.plist file (in the target’s General > Identity section).
  • The SKU is not visible to users and is up to you to set. It can be an identifier you use in your company or something else that is meaningful for you. Acceptable characters include letters, numbers, hyphens, periods, and underscores, and it must begin with a letter or number.

If applicable, you can also set user access at this step.

3. Archive and upload your app using Xcode

  • Before you can submit your app for review through App Store Connect, you need to upload the build through Xcode.
  • In Xcode, select Generic iOS Device as the deployment target.
  • Choose Product from the top menu and click on Archive.
  • The Xcode Organizer will launch, displaying any archives you’ve created in the past.
  • Make sure the current build is selected and click on Upload to App Store in the right-hand panel.
  • Select your credentials and click Choose.
  • In the next window that appears, click on Upload in the bottom right-hand corner.

A success message will appear when the upload has been completed. Click Done.

Frequently Ask Questions

How To Set Custom API

In the event that there is any addition or modification to a new connection with API and you need information such as the Website URL, ServerKey, UserId, and AccessToken,

Use Manger Files in the project to call the api for example for get profile api use GetProfileManager class

App Crash when open it

We always ensure that the latest version of the application is used, and also in each new version, a new CERT encrypted key from the DoughouzLight Checker must be used.

Set Up Device For Development

Prepare for your build

To prepare to distribute your build, you need:

  • An App ID that you set up for your app in your developer account.
  • A signing certificate with the public and private key. On iOS, iPadOS, watchOS, or tvOS you need a distribution certificate; on macOS you need a development certificate. For more information on signing certificates, see Certificates.
  • A list of test devices registered in your developer account.
  • A provisioning profile for your app and list of test devices. On iOS, iPadOS, watchOS, or tvOS you need a distribution profile; on macOS you need a development profile.

If you choose the default automatic signing, Xcode creates the provisioning profiles for you, that include all your registered devices; for more advanced cases like large teams with restricted access to signing assets or to only include a subset of your registered devices, prepare your provisioning assets manually. In both automatic and manual provisioning, you need to gather and add your list of test devices to your developer account. When you manually provision a profile, update your provisioning profile after adding test devices.

Each iOS, iPadOS, tvOS, watchOS, and macOS device has a persistent, unique identifier referred to as a device ID. When you use automatic signing, Xcode registers the device for you. Otherwise, you need to collect the device ID and register the device in your developer account.

Register devices automatically in Xcode

When you use automatic signing, Xcode registers the connected device or Mac for you. For iOS, iPadOS, or tvOS attach your device to your computer, and select Trust if the device asks to trust your computer. For watchOS, attach the paired phone for your watchOS device to your computer.

In Xcode, select your attached device as the run destination, and build and run your app. For more information on simulated apps, see Running your app in Simulator or on a device. If your device needs to be registered, click the Register button in the dialog that Xcode displays, and Xcode registers and adds the device to your provisioning profile.

Register devices in your developer account

After you collect the device IDs, you can register them all at once by putting the device names and identifiers in a file. Sign into your developer account, then:

  1. Select Certificates, Identifiers, and Profiles.
  2. Select Devices.
  3. Click Download Sample File for an example file.
  4. Customize the example file with your specific device information.
  5. Upload the device file.

For more information on multi-device registration, see Register multiple devices.

Add a single device by clicking the plus (+) button next to the Devices title. Specify the identifier and a name for the device. Use a name that makes the device easy to identify; for example, combine the owner’s name and device type, ”Ravi Patel’s iPhone 11”.

You can disable devices that you no longer permit to use your app: select the device and click Disable. Code signing doesn’t include the device while it’s disabled, but the device counts against the number of devices in the product family until your account renewal date. Disabling a device invalidates any provisioning profiles that include the device; automatic signing regenerates the profile the next time you build your app, or you can regenerate the profile manually if you’re not using automatic signing.

Update your provisioning profile

When you use automatic signing, Xcode automatically updates the provisioning profile when you export the app.

To use manual signing, sign into your developer account, select Certificates, Identifiers, and Profiles, then select Profiles. Click the plus sign next to the Profiles header to create a new provisioning profile. Then:

  1. Select the type of profile by type and platform.
  2. Select your App ID.
  3. Select the signing certificate.
  4. Select the device or devices to include in the profile.
  5. Provide a name for the profile.
  6. Select Generate.

You can edit an existing profile and regenerate it to add or remove devices. Once you generate the profile, download it, then drag the downloaded profile to the Xcode dock icon and drop it to install it. You can also download it from Xcode Preferences > Accounts, using the Download Manual Profiles button when you select your account.

Archive the app

In the main window of your Xcode project, choose a target and a build-only device or real device from the Scheme toolbar menu. You can’t create an archive when the target is a simulator. Choose Product > Archive to build the target and Xcode displays the archive in the Archives organizer.

For a Mac app built with Mac Catalyst, create separate archives for the iPad and Mac version. When creating the archive for the Mac version, choose My Mac as the run destination.

Export the app

From the archive, export a version of the app to distribute to users:

  1. In the Archives organizer, select the archive, then click Distribute App.
  2. Select the Ad-Hoc or Development method to distribute your app to registered devices.
  3. If you’re using manual signing, select your distribution provisioning profile, otherwise let Xcode perform any updates necessary for automatic signing.
  4. Save the exported app.

For more information on solving issues with code signing, see Code Signing.

Install the app on user devices

When you save the exported app, Xcode creates a folder that contains a few files, including the iOS App file, which is a file with an .ipa filename extension. Distribute that file to your users so they can install it on their devices by using Xcode or Apple Configurator 2.

For macOS, double-click the file to install and run it.

To install iOS, iPadOS, tvOS, or watchOS apps using Xcode:

  1. Attach the device to the computer, or attach the paired phone for a watchOS device.
  2. Select Window > Devices and Simulators, and then select the Devices tab.
  3. Select the attached device.
  4. Click the Add button (+) under the Installed Apps section.
  5. Select the iOS App file to install the app.

To install iOS, iPadOS, tvOS, or watchOS apps with Apple Configurator 2:

  1. Attach the device to your Mac, or attach the paired phone for a watchOS device.
  2. Select the attached device.
  3. Click the Add button (+).
  4. Select the iOS App file to install the app.