Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 


Note

The Premium Mobile Code is only available on phpFox ULTIMATE license. In case you are holding other license types, please upgrade to phpFox ULTIMATE license first.

In this article, we assume that you already got the following knowledge:

  • How to use XCode to set up and build an Android app
  • How to create necessary iOS certifications to build an iOS app
  • How to configure a Firebase project for push notification on an iOS app.

...

  • Install XCode 10+
    • In particular, for Mobile Code 1.4 or newer:
      • MacOS >= 10.14.4
      • XCode >= 10.2.0
  • Homebrew https://brew.sh/ (for Mobile code 1.3 only)
  • CocoaPods https://cocoapods.org/
  • Nodejs (for Mobile code 1.3 only)

Install XCode

Visit https://developer.apple.com/download/ and download stable XCode.

...

Default file configuration.json will be as below:

Code Block
{
  "appName": "YourAppName",
  "bundleId": "com.yourcompany.phpfoxmobile",
  "shareExtensionId": "com.yourcompany.phpfoxmobile.ShareExtension",
  "groupId": "group.com.yourcompany.phpfoxmobile",
  "serverUrl": "https://yourphpfoxwebsite.com",
  "clientId": "CLIENT_ID",
  "clientSecret": "CLIENT_SECRET",
  "versionName": "1.xx",
  "versionBuildNumber": xx,
  "facebookAppId": "FACEBOOK_APP_ID",
  "googlePlacesClientId": "GOOGLE_PLACES_CLIENT_ID",
  "googleAdMobAppIdstringKeyCodePush": "",
  "react-native-google-mobile-ads": {
    "ios_app_id": "GOOGLE_ADMOB_APP_ID,
    "delay_app_measurement_init": false
  },
  "developmentTeam": "YOUR_DEVELOPMENT_TEAM",
  "firebaseEnabledAnalyticpingServerUrl": true"",
  "codeSignStyle": "AutomaticManual",
  "versionNamecodeSignIdentity": "1.x.x",
"versionBuildNumber": 2,
IOS_DISTRIBUTION_CERTIFICATE",
  "provisioningProfileSpecifier": "MAIN_PROVISIONING_PROFILE_NAME",
  "shareExtensionProvisioningProfileSpecifier": "SHAREEXT_PROVISIONING_PROFILE_NAME",
  "targetedDeviceFamily": "1",
  "firebaseEnabledAnalytic": true,
  "theme": {
	"primaryColor    "splashScreenBackgroundColor": "#COLOR",
	"splashScreenBackgroundColor    "primaryColor": "#COLOR",
	    "grayBaseColor": "#111"
	}
},
    "welcomeText": {
      "fontSize": 24,
      "color": "#FFF",
      "fontWeight": 400
    },
    "welcomeImage": {
      "height": 48,
      "resizeMode": "contain"
    }
  },
  "enableAssociatedDomains": true,
  "associatedDomains": [
    "yourphpfoxwebsite.com",
    "www.yourphpfoxwebsite.com"
  ],
  "enableLiveStream": false,
  "enableRocketChat": true,
  "enableInAppPurchase": false,
  "enableAdmob": false,
  "enableAudio": false,
  "enableLog": false,
  "expose": {
    "NSAppleMusicUsageDescription": "$(APP_DISPLAY_NAME) would like to use your apple music.",
    "NSBluetoothPeripheralUsageDescription": "$(APP_DISPLAY_NAME) would like to use your bluetooth.",
    "NSCalendarsUsageDescription": "$(APP_DISPLAY_NAME) would like to use your calendar.",
    "NSCameraUsageDescription": "$(APP_DISPLAY_NAME) would like to use your camera. Without permission to use your camera, you could not take a photo or take a video while posting a photo or video in the status, profile, photo or video modules.",
    "NSLocationWhenInUseUsageDescription": "$(APP_DISPLAY_NAME) would like to use your location address.",
    "NSMicrophoneUsageDescription": "$(APP_DISPLAY_NAME) would like to your microphone (for videos). Without permission to use your microphone, people could not hear you while watching a video you have taken.",
    "NSMotionUsageDescription": "$(APP_DISPLAY_NAME) would like to use your motion.",
    "NSPhotoLibraryAddUsageDescription": "$(APP_DISPLAY_NAME) would like to save photos to your gallery. Without this permission, you could not save a photo into your local storage.",
    "NSPhotoLibraryUsageDescription": "$(APP_DISPLAY_NAME) would like access to your gallery to upload photos or videos from your local storage while using some functions.",
    "NSSpeechRecognitionUsageDescription": "$(APP_DISPLAY_NAME) would like to recognize your speech.",
    "NSLocationAlwaysUsageDescription": "$(APP_DISPLAY_NAME) would like to use your location data. Without permission to use your location data, the Check-In feature or location sharing feature may not work.",
    "NSContactsUsageDescription": "$(APP_DISPLAY_NAME) would like to use your contacts data. Without permission to use your contacts data, the Audio/Video call feature may not work.",
    "NSUserTrackingUsageDescription": "This allows the $(APP_DISPLAY_NAME) app to provide you with the most relevant ads and content possible."
  }
}

Here is our detailed explanation for items in this file

...

googlePlacesClientId
Follow the instruction at https://developers.google.com/places/ios-sdk/start to get key for ios.

googleAdMobAppIdios_app_id
Follow the instruction at https://developers.google.com/admob/android/quick-start to get key for ios.

...