Skip to content

Debugging

Understanding cloud logs:

Sent from the backend

codeDescription
InvalidIpThe user is located in a Google data center and the update is less than 4 hours old. This is done to prevent Google bots’ devices from counting as devices in your account.
needPlanUpgrade (previously needUpgrade)Indicates that you have reached the limit of your plan, and the device will not receive updates until you upgrade or until the next month.
noNewThe device has the latest available version.
disablePlatformIosThe device is on the iOS platform, but that is disabled in the channel settings.
disablePlatformAndroidThe device is on the Android platform, but that is disabled in the channel settings.
disableAutoUpdate”major"
disableAutoUpdateUnderNativeThe device has version (1.2.3), and the channel has an update (1.2.2) under the device version to send, but that is disabled in the channel settings.
disableDevBuildThe device has a dev build, but that is disabled in the channel settings.
disableEmulatorThe device is an emulator, but that is disabled in the channel settings.

Sent from the device

codeDescription
getInfo for downloading the new version has been sent to the device.
deleteOne bundle has been deleted on the device.
setA bundle has been set on the device.
set_failThe bundle failed to set.
resetThe device reset to the builtin bundle.
download_XXA new bundle has been downloaded - progress indicated by XX% (increments of 10%).
download_completeThe new bundle has finished downloading.
download_failThe new bundle failed to download.
update_failThe new bundle has been installed but failed to call notifyAppReady.
checksum_failThe new bundle failed to validate the checksum.
windows_path_failThe zip has files who contain windows path who are illegal
canonical_path_failThe path of files is not canonical
directory_path_failThere is an error in the path of zip files
unzip_failunzip failed
low_mem_failDownload failed because of low memory in the device

Bundle status

  • SUCCESS: install bundle done
  • ERROR: install or download failed
  • PENDING: Download done, pending release
  • DELETED: Bundle deleted, still presented for stats
  • DOWNLOADING: Currently downloading a bundle

Understanding device logs:

Debug command:

There is a debug command for Capgo cloud users.

Terminal window
npx @capgo/cli@latest app debug

This will allow you to check all events happening in the app and find a solution if updates don’t happen.

IOS

to find your logs on Xcode

Android:

to find your logs on Android studio

Explanations Logs

  • Failed to download from => same as download_fail
  • notifyAppReady was not called, roll back current bundle => same as as update_fail

Finding the downloaded bundle in your device

iOS

To debug on iOS, you need to dump the app on your computer, you can do it like this:

Xcode has a built-in feature for inspecting the file system of developer-installed apps on an iOS device.

To achieve this:

  • Connect your device to your Mac and select Window > Devices in the Xcode menubar.
  • Select your device in the left pane under the Devices section.
  • This will show a list of developer-installed apps for that device.
  • Select the app you want to inspect and then select the gear icon near the bottom of the screen.
  • Here you can view the current file system by selecting Show Container or download a snapshot of it.

Selecting Download Container… will download and export a snapshot of the file system as a .xcappdata file that you can browse through.

Right-click on this file and select Show Package Contents to open the folder.

Open the App Data folder, and you should now see a few folders like Documents, Library, tmp, etc.

image

Then you will find a version in 2 folders:

library/NoCloud/ionic_built_snapshots is necessary after the app reboot

and documents/versions for hot reload

Android

To debug on Android, you need to access the device from Android Studio:

  • Click View > Tool Windows > Device File Explorer or click the Device File Explorer button in the tool window bar to open the Device File Explorer.
  • Select a device from the dropdown list.
  • Open the path data/data/APP_NAME/ where APP_NAME is your app ID.

image

Then Find the versions folder to see all the versions

Understanding ios production crash logs