Setup & Importing Xcode Project


Thanks for Purchasing FireApp, we hope that you like it!.

PLEASE MAKE SURE TO CUSTOMIZE IT AND CHANGE IT VERY WELL LIKE THE DESIGN,ICONS,COLORS,ETC..

SINCE APPLE MAY REJECT IT BECAUSE OF 'COPY CAT-LIKE' REASONS.

ENJOY.

What Xcode version is needed?

Latest Xcode version is recommended, which can be downloaded from here or from Mac AppStore

How to open the project in Xcode?

  1. Before opening up the Project you have to install Cocoapods which will download the used Libraries in this app, to do that open the Terminal app in your Mac the write in the command
sudo gem install cocoapods

(if you already have Cocoapods you can skip this step)

  1. within the terminal change the current directory using
cd /your_path_to_the_app/

OR

you just type cd then drag and drop the app directory

after that type in the command

pod install

this should install all the libraries in the app, this may take a while depending on your Internet connection.

  1. once that done, go to App Files and open up the file FireApp.xcworkspace make sure it's xcworkspace NOT xcodeproj
  2. wait for build to finish
  3. then click on CMD + Shift + K to clean the project

{primary} after build finishes you will get an error GoogleService-Info.plist is missing ,to solve this you have to Setup Firebase after changing Package Name.

another error may show up also like this

Provisioning profile "iOS Team Provisioning Profile: com.devlomi.ifireapp" doesn't match the entitlements file's value for the keychain-access-groups entitlement.

which is okay since you need to complete setting up the project.

How to Setup the project?

Change Bundle Name

  1. go to Config.swift and change bundleName value

  2. click on the project at the left then select General > FireApp > bundle identifier then type in your bundle name then hit enter image

  3. apply the same steps on ShareExtension and NotificationService

image

image

{primary} extension names (ShareExtension and NotificationService) should have the same bundleName + the extension name. for example the app bundle name is com.devlomi.ifireapp so the extension name should be com.devlomi.ifireapp. + extension name, in our case com.devlomi.ifireapp.ShareExtension, and same thing applies on NotificationService

  1. now it's the time to Configure AppGroups which will make Extesnsions communicate with each other.
    • in the same window go to Signing and Capabilities > choose FireApp Target > AppGroups then hit on the the little plus icon, a window should popup, enter the same bundle name that you entered before, in my case it's com.devlomi.ifireapp so the final result would be group.com.devlomi.ifireapp
  • after that check the checkbox

image

  • now go to ShareExtension and NotificationService Targets and you should see the AppGroup that you've added, if not just create it with the same name

  • make sure to check the Checkbox.

image

image

  • after all that done you should have the same AppGroup enabled on all Targets.
  1. Enable Keychain: to make the Firebase Available on other Extensions
    • first of all you have to get your TeamID from Apple Developer, to do that go to your Apple Developer Account and Sign in with your Paid Apple Developer account, then Select Membership then copy your TeamID

image

  • now go to Xcode > and Choose FireApp Target then Scroll down to Keychain Sharing > click on little plus icon now you have to type in your TeamId.+BundleName.+group.+BundleName
yourTeamId.yourBundleName.group.yourBundleName

so the final result would be like this for example

Y32314SD.com.devlomi.ifireapp.group.com.devlomi.ifireapp

image

  • apply the same thing for NotificationService

image

  • for some reason Xcode mess up with this Keychain, so you have to edit it manually in the app files. go to the App Files > and open up FireApp.entitlements and paste in the Keychain group that you've just created

image

apply the same thing for NotificationService > NotificationService.entitlements

{primary} if you've changed the Keychain from Targets again you have to edit the entitlements files again since Xcode will modify it once again.

  • lastly go to Config.swift and add your Team ID in teamId value.
  1. now you have to enable Share so your app can receive Data from other apps. to do that go to Info.plist > URL Types > item 1(Editor) > URL Schemes > item0 > add a unique name for it, for example yourAppName+Share

image

copy the same name then go to Config.swift file then replace shareURLScheme with the same key that you just entered in Info.plist.

{warning} if you try to run the app right now it would crash because you have to [Enable Video & Voice Calls]

How to change app name?

  1. click on the project name at the left then go to General and change Display Name value then press enter image

  2. go to Config.swift and replace appName's value with your app name

Add your App Link for invitation text

this will be used when inviting a user to download the app from AppStore, you can get the appId even if the app was not published yet. go to AppStore Connect and sign in with your Apple Developer Account and create a new app if you don't have one.

after that go to App Information and you should see Apple ID, copy it then go to Config.swift in your project and paste it in appId

image

How to enable/disable Ad?

  1. Enable Ads: go to Config.swift and change the following value as you need. true to enable and false to disable

    • isChatsAdsEnabled to enable/disable Ads in 'Main/Chats' Page
    • isStatusAdsEnabled to enable/disable Ads in 'Status' Page
    • isCallsAdsEnabled to enable/disable Ads in 'Calls' Page
  2. Fill in the units IDs:

    • copy you adMob AppId then go to Info.plist > GADApplicationIdentifier and paste it in.

image

  • create Banner Unit and paste the AdUnitId in Config.swift > mainViewAdsUnitId

How to setup Join Group via Link?

  1. you have to have your own Website and have access to FTP or File Manager.
  2. open up the included apple-app-site-association with any text editor and add your Apple Team ID + your bundle name

image

then save the file and do NOT add an extension to it or change the file name

  1. now go to your server's FileManager or use FileZilla and Create the Directory .well-known if it's not exists, then upload the file apple-app-site-association into .well-known

    {primary} it's recommended to have a subdomain for this, for example join.yourwebsite.com

  2. go to Xcode > Config.swift and change groupHostLink value to your domain, for example http://join.fireapp.devlomi.com
  3. lastly go to Xcode > FireApp > select FireApp Target > Signing and Capabilities > Associated Domains, hit the little plus icon or edit the existing link and add in your website
applinks:your.domainlink.com

image

How to change Links in About Page?

you can do that by going to Config.swift and change twitter , website , email values to what you want.

How to add more stickers?

if you want to add your own stickers, just expand stickers.bundle and drag and drop the images you want (should be in png or jpg) image

How to add Privacy Policy?

you can make your own Privacy Policy in html format and upload it to your own website, OR you can use some websites like this which will help you generating a privacy policy. after getting your html privacy policy and uploading it to your Website, get the link of it and include it in Config.swift > privacyPolicyLink