Repository files navigation

Humantiv

Mobile app to calculate the user health score and issue Medits tokens

Development Environment and Configuration

Android

Step 1: Get the SHA-1 of your Android Developer Debug Keystore

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

The password is android.

Copy the SHA-1 value, which will look something like this in the output:

Certificate Fingerprints

SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Step 2: Add the SHA to the Android App in the Firebase Console

Now open up your Android App in the Firebase console and add the SHA-1:

image

Release build on device

Connect the iOS or Android phones with a USB cable to the computer and follow the following steps:

iOS


./scripts/run_release_ios.sh

Android


./scripts/run_release_android.sh

Component development

Storybook is used to develop and modify components. To run Storybook, run the commands below:


npm run storybook

and from another terminal run:


react-native run-ios

Development resources

Custom Fonts

Please follow this guide to add a new custom font:

Custom Fonts in React Native for iOS & Android Builds

Troubeshooting

Android:

Module cannot be loaded in Android Studio. .iml file cannot be found:

  1. Close the project

  2. Re-open it

  3. Try to fix any wrong dependency version

  4. Android Studio -> File -> Invalidate Caches/ Restart

App crashes at startup in release mode

The app crashes at startup. Here is the procedure to follow in this case:

  1. Attach an Android phone with the release version of the app to the computer.

  2. Run Android studio and select the phone and application i the Logcat window. Filter the message with Error instead of Verbose

  3. Run the app and after the crash look at the log

  4. Example: In one case the log said: Got JS Exception: Unexpected token '.' (index.android.bundle:1054) This error happens in the release version of the app.

  5. Now, we have to look at the index.android.bundle file in android/app/buil/intermediates/assets/release and go to line 1054.

  6. In that line, look for suspicious code. In this example, it was if (new.target === DataSource). This is not supported yet by the Android Javascript engine and we need either to not use the syntax or add the babel plugin babel-plugin-transform-new-target to transpile the code.

Cannot load module file xxx. File xxx.iml does not exist

When modules are not loading, check if all imports in MainApplication.java and dependencies are there. One missing dependency or import and the build can break with cryptic error messages.

iOS

error: Build input file cannot be found: '.../node_modules/react-native/third-party/double-conversion-1.1.5/src/fixed-dtoa.cc'

If you are a new Xcode, you might have this error. React Native libraries are slow to move to the new iOS libraries. Make sure you are using legacy build system.

Xcode -> File -> Workspace Settings ...

Legacy build system

AppleHealthKit from 'rn-apple-healthkit' doesn't return from the Native calls and blocks the fetch code

Make sure to always call AppleHealthKit.initHealthKit() before anu other call to the rn-apple-healthkit otherwise the native module silently blocks the Health Kit query thread and you can spend hours debugging the problem.

Build Status

Nevercode React Native

Nevercode build status

App Center

OSStatus
AndroidBuild status
iOSBuild status

About

Mobile app to calculate the user health score and issue Medits tokens

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all \u003cpre\u003e\u003ccode\u003e blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks"); } } catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); } })(); (function(){ try { var __m = "github.com"; var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Repository files navigation

Humantiv

Mobile app to calculate the user health score and issue Medits tokens

Development Environment and Configuration

Android

Step 1: Get the SHA-1 of your Android Developer Debug Keystore

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

The password is android.

Copy the SHA-1 value, which will look something like this in the output:

Certificate Fingerprints

SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Step 2: Add the SHA to the Android App in the Firebase Console

Now open up your Android App in the Firebase console and add the SHA-1:

image

Release build on device

Connect the iOS or Android phones with a USB cable to the computer and follow the following steps:

iOS


./scripts/run_release_ios.sh

Android


./scripts/run_release_android.sh

Component development

Storybook is used to develop and modify components. To run Storybook, run the commands below:


npm run storybook

and from another terminal run:


react-native run-ios

Development resources

Custom Fonts

Please follow this guide to add a new custom font:

Custom Fonts in React Native for iOS & Android Builds

Troubeshooting

Android:

Module cannot be loaded in Android Studio. .iml file cannot be found:

  1. Close the project

  2. Re-open it

  3. Try to fix any wrong dependency version

  4. Android Studio -> File -> Invalidate Caches/ Restart

App crashes at startup in release mode

The app crashes at startup. Here is the procedure to follow in this case:

  1. Attach an Android phone with the release version of the app to the computer.

  2. Run Android studio and select the phone and application i the Logcat window. Filter the message with Error instead of Verbose

  3. Run the app and after the crash look at the log

  4. Example: In one case the log said: Got JS Exception: Unexpected token '.' (index.android.bundle:1054) This error happens in the release version of the app.

  5. Now, we have to look at the index.android.bundle file in android/app/buil/intermediates/assets/release and go to line 1054.

  6. In that line, look for suspicious code. In this example, it was if (new.target === DataSource). This is not supported yet by the Android Javascript engine and we need either to not use the syntax or add the babel plugin babel-plugin-transform-new-target to transpile the code.

Cannot load module file xxx. File xxx.iml does not exist

When modules are not loading, check if all imports in MainApplication.java and dependencies are there. One missing dependency or import and the build can break with cryptic error messages.

iOS

error: Build input file cannot be found: '.../node_modules/react-native/third-party/double-conversion-1.1.5/src/fixed-dtoa.cc'

If you are a new Xcode, you might have this error. React Native libraries are slow to move to the new iOS libraries. Make sure you are using legacy build system.

Xcode -> File -> Workspace Settings ...

Legacy build system

AppleHealthKit from 'rn-apple-healthkit' doesn't return from the Native calls and blocks the fetch code

Make sure to always call AppleHealthKit.initHealthKit() before anu other call to the rn-apple-healthkit otherwise the native module silently blocks the Health Kit query thread and you can spend hours debugging the problem.

Build Status

Nevercode React Native

Nevercode build status

App Center

OSStatus
AndroidBuild status
iOSBuild status

About

Mobile app to calculate the user health score and issue Medits tokens

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Humantiv

Mobile app to calculate the user health score and issue Medits tokens

Development Environment and Configuration

Android

Step 1: Get the SHA-1 of your Android Developer Debug Keystore

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

The password is android.

Copy the SHA-1 value, which will look something like this in the output:

Certificate Fingerprints

SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Step 2: Add the SHA to the Android App in the Firebase Console

Now open up your Android App in the Firebase console and add the SHA-1:

image

Release build on device

Connect the iOS or Android phones with a USB cable to the computer and follow the following steps:

iOS


./scripts/run_release_ios.sh

Android


./scripts/run_release_android.sh

Component development

Storybook is used to develop and modify components. To run Storybook, run the commands below:


npm run storybook

and from another terminal run:


react-native run-ios

Development resources

Custom Fonts

Please follow this guide to add a new custom font:

Custom Fonts in React Native for iOS & Android Builds

Troubeshooting

Android:

Module cannot be loaded in Android Studio. .iml file cannot be found:

  1. Close the project

  2. Re-open it

  3. Try to fix any wrong dependency version

  4. Android Studio -> File -> Invalidate Caches/ Restart

App crashes at startup in release mode

The app crashes at startup. Here is the procedure to follow in this case:

  1. Attach an Android phone with the release version of the app to the computer.

  2. Run Android studio and select the phone and application i the Logcat window. Filter the message with Error instead of Verbose

  3. Run the app and after the crash look at the log

  4. Example: In one case the log said: Got JS Exception: Unexpected token '.' (index.android.bundle:1054) This error happens in the release version of the app.

  5. Now, we have to look at the index.android.bundle file in android/app/buil/intermediates/assets/release and go to line 1054.

  6. In that line, look for suspicious code. In this example, it was if (new.target === DataSource). This is not supported yet by the Android Javascript engine and we need either to not use the syntax or add the babel plugin babel-plugin-transform-new-target to transpile the code.

Cannot load module file xxx. File xxx.iml does not exist

When modules are not loading, check if all imports in MainApplication.java and dependencies are there. One missing dependency or import and the build can break with cryptic error messages.

iOS

error: Build input file cannot be found: '.../node_modules/react-native/third-party/double-conversion-1.1.5/src/fixed-dtoa.cc'

If you are a new Xcode, you might have this error. React Native libraries are slow to move to the new iOS libraries. Make sure you are using legacy build system.

Xcode -> File -> Workspace Settings ...

Legacy build system

AppleHealthKit from 'rn-apple-healthkit' doesn't return from the Native calls and blocks the fetch code

Make sure to always call AppleHealthKit.initHealthKit() before anu other call to the rn-apple-healthkit otherwise the native module silently blocks the Health Kit query thread and you can spend hours debugging the problem.

Build Status

Nevercode React Native

Nevercode build status

App Center

OSStatus
AndroidBuild status
iOSBuild status

About

Mobile app to calculate the user health score and issue Medits tokens

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length \u003e 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Humantiv

Mobile app to calculate the user health score and issue Medits tokens

Development Environment and Configuration

Android

Step 1: Get the SHA-1 of your Android Developer Debug Keystore

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

The password is android.

Copy the SHA-1 value, which will look something like this in the output:

Certificate Fingerprints

SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Step 2: Add the SHA to the Android App in the Firebase Console

Now open up your Android App in the Firebase console and add the SHA-1:

image

Release build on device

Connect the iOS or Android phones with a USB cable to the computer and follow the following steps:

iOS


./scripts/run_release_ios.sh

Android


./scripts/run_release_android.sh

Component development

Storybook is used to develop and modify components. To run Storybook, run the commands below:


npm run storybook

and from another terminal run:


react-native run-ios

Development resources

Custom Fonts

Please follow this guide to add a new custom font:

Custom Fonts in React Native for iOS & Android Builds

Troubeshooting

Android:

Module cannot be loaded in Android Studio. .iml file cannot be found:

  1. Close the project

  2. Re-open it

  3. Try to fix any wrong dependency version

  4. Android Studio -> File -> Invalidate Caches/ Restart

App crashes at startup in release mode

The app crashes at startup. Here is the procedure to follow in this case:

  1. Attach an Android phone with the release version of the app to the computer.

  2. Run Android studio and select the phone and application i the Logcat window. Filter the message with Error instead of Verbose

  3. Run the app and after the crash look at the log

  4. Example: In one case the log said: Got JS Exception: Unexpected token '.' (index.android.bundle:1054) This error happens in the release version of the app.

  5. Now, we have to look at the index.android.bundle file in android/app/buil/intermediates/assets/release and go to line 1054.

  6. In that line, look for suspicious code. In this example, it was if (new.target === DataSource). This is not supported yet by the Android Javascript engine and we need either to not use the syntax or add the babel plugin babel-plugin-transform-new-target to transpile the code.

Cannot load module file xxx. File xxx.iml does not exist

When modules are not loading, check if all imports in MainApplication.java and dependencies are there. One missing dependency or import and the build can break with cryptic error messages.

iOS

error: Build input file cannot be found: '.../node_modules/react-native/third-party/double-conversion-1.1.5/src/fixed-dtoa.cc'

If you are a new Xcode, you might have this error. React Native libraries are slow to move to the new iOS libraries. Make sure you are using legacy build system.

Xcode -> File -> Workspace Settings ...

Legacy build system

AppleHealthKit from 'rn-apple-healthkit' doesn't return from the Native calls and blocks the fetch code

Make sure to always call AppleHealthKit.initHealthKit() before anu other call to the rn-apple-healthkit otherwise the native module silently blocks the Health Kit query thread and you can spend hours debugging the problem.

Build Status

Nevercode React Native

Nevercode build status

App Center

OSStatus
AndroidBuild status
iOSBuild status

About

Mobile app to calculate the user health score and issue Medits tokens

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Repository files navigation

Humantiv

Mobile app to calculate the user health score and issue Medits tokens

Development Environment and Configuration

Android

Step 1: Get the SHA-1 of your Android Developer Debug Keystore

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

The password is android.

Copy the SHA-1 value, which will look something like this in the output:

Certificate Fingerprints

SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Step 2: Add the SHA to the Android App in the Firebase Console

Now open up your Android App in the Firebase console and add the SHA-1:

image

Release build on device

Connect the iOS or Android phones with a USB cable to the computer and follow the following steps:

iOS


./scripts/run_release_ios.sh

Android


./scripts/run_release_android.sh

Component development

Storybook is used to develop and modify components. To run Storybook, run the commands below:


npm run storybook

and from another terminal run:


react-native run-ios

Development resources

Custom Fonts

Please follow this guide to add a new custom font:

Custom Fonts in React Native for iOS & Android Builds

Troubeshooting

Android:

Module cannot be loaded in Android Studio. .iml file cannot be found:

  1. Close the project

  2. Re-open it

  3. Try to fix any wrong dependency version

  4. Android Studio -> File -> Invalidate Caches/ Restart

App crashes at startup in release mode

The app crashes at startup. Here is the procedure to follow in this case:

  1. Attach an Android phone with the release version of the app to the computer.

  2. Run Android studio and select the phone and application i the Logcat window. Filter the message with Error instead of Verbose

  3. Run the app and after the crash look at the log

  4. Example: In one case the log said: Got JS Exception: Unexpected token '.' (index.android.bundle:1054) This error happens in the release version of the app.

  5. Now, we have to look at the index.android.bundle file in android/app/buil/intermediates/assets/release and go to line 1054.

  6. In that line, look for suspicious code. In this example, it was if (new.target === DataSource). This is not supported yet by the Android Javascript engine and we need either to not use the syntax or add the babel plugin babel-plugin-transform-new-target to transpile the code.

Cannot load module file xxx. File xxx.iml does not exist

When modules are not loading, check if all imports in MainApplication.java and dependencies are there. One missing dependency or import and the build can break with cryptic error messages.

iOS

error: Build input file cannot be found: '.../node_modules/react-native/third-party/double-conversion-1.1.5/src/fixed-dtoa.cc'

If you are a new Xcode, you might have this error. React Native libraries are slow to move to the new iOS libraries. Make sure you are using legacy build system.

Xcode -> File -> Workspace Settings ...

Legacy build system

AppleHealthKit from 'rn-apple-healthkit' doesn't return from the Native calls and blocks the fetch code

Make sure to always call AppleHealthKit.initHealthKit() before anu other call to the rn-apple-healthkit otherwise the native module silently blocks the Health Kit query thread and you can spend hours debugging the problem.

Build Status

Nevercode React Native

Nevercode build status

App Center

OSStatus
AndroidBuild status
iOSBuild status

About

Mobile app to calculate the user health score and issue Medits tokens

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Humantiv

Mobile app to calculate the user health score and issue Medits tokens

Development Environment and Configuration

Android

Step 1: Get the SHA-1 of your Android Developer Debug Keystore

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

The password is android.

Copy the SHA-1 value, which will look something like this in the output:

Certificate Fingerprints

SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Step 2: Add the SHA to the Android App in the Firebase Console

Now open up your Android App in the Firebase console and add the SHA-1:

image

Release build on device

Connect the iOS or Android phones with a USB cable to the computer and follow the following steps:

iOS


./scripts/run_release_ios.sh

Android


./scripts/run_release_android.sh

Component development

Storybook is used to develop and modify components. To run Storybook, run the commands below:


npm run storybook

and from another terminal run:


react-native run-ios

Development resources

Custom Fonts

Please follow this guide to add a new custom font:

Custom Fonts in React Native for iOS & Android Builds

Troubeshooting

Android:

Module cannot be loaded in Android Studio. .iml file cannot be found:

  1. Close the project

  2. Re-open it

  3. Try to fix any wrong dependency version

  4. Android Studio -> File -> Invalidate Caches/ Restart

App crashes at startup in release mode

The app crashes at startup. Here is the procedure to follow in this case:

  1. Attach an Android phone with the release version of the app to the computer.

  2. Run Android studio and select the phone and application i the Logcat window. Filter the message with Error instead of Verbose

  3. Run the app and after the crash look at the log

  4. Example: In one case the log said: Got JS Exception: Unexpected token '.' (index.android.bundle:1054) This error happens in the release version of the app.

  5. Now, we have to look at the index.android.bundle file in android/app/buil/intermediates/assets/release and go to line 1054.

  6. In that line, look for suspicious code. In this example, it was if (new.target === DataSource). This is not supported yet by the Android Javascript engine and we need either to not use the syntax or add the babel plugin babel-plugin-transform-new-target to transpile the code.

Cannot load module file xxx. File xxx.iml does not exist

When modules are not loading, check if all imports in MainApplication.java and dependencies are there. One missing dependency or import and the build can break with cryptic error messages.

iOS

error: Build input file cannot be found: '.../node_modules/react-native/third-party/double-conversion-1.1.5/src/fixed-dtoa.cc'

If you are a new Xcode, you might have this error. React Native libraries are slow to move to the new iOS libraries. Make sure you are using legacy build system.

Xcode -> File -> Workspace Settings ...

Legacy build system

AppleHealthKit from 'rn-apple-healthkit' doesn't return from the Native calls and blocks the fetch code

Make sure to always call AppleHealthKit.initHealthKit() before anu other call to the rn-apple-healthkit otherwise the native module silently blocks the Health Kit query thread and you can spend hours debugging the problem.

Build Status

Nevercode React Native

Nevercode build status

App Center

OSStatus
AndroidBuild status
iOSBuild status

About

Mobile app to calculate the user health score and issue Medits tokens

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Repository files navigation

Humantiv

Mobile app to calculate the user health score and issue Medits tokens

Development Environment and Configuration

Android

Step 1: Get the SHA-1 of your Android Developer Debug Keystore

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

The password is android.

Copy the SHA-1 value, which will look something like this in the output:

Certificate Fingerprints

SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Step 2: Add the SHA to the Android App in the Firebase Console

Now open up your Android App in the Firebase console and add the SHA-1:

image

Release build on device

Connect the iOS or Android phones with a USB cable to the computer and follow the following steps:

iOS


./scripts/run_release_ios.sh

Android


./scripts/run_release_android.sh

Component development

Storybook is used to develop and modify components. To run Storybook, run the commands below:


npm run storybook

and from another terminal run:


react-native run-ios

Development resources

Custom Fonts

Please follow this guide to add a new custom font:

Custom Fonts in React Native for iOS & Android Builds

Troubeshooting

Android:

Module cannot be loaded in Android Studio. .iml file cannot be found:

  1. Close the project

  2. Re-open it

  3. Try to fix any wrong dependency version

  4. Android Studio -> File -> Invalidate Caches/ Restart

App crashes at startup in release mode

The app crashes at startup. Here is the procedure to follow in this case:

  1. Attach an Android phone with the release version of the app to the computer.

  2. Run Android studio and select the phone and application i the Logcat window. Filter the message with Error instead of Verbose

  3. Run the app and after the crash look at the log

  4. Example: In one case the log said: Got JS Exception: Unexpected token '.' (index.android.bundle:1054) This error happens in the release version of the app.

  5. Now, we have to look at the index.android.bundle file in android/app/buil/intermediates/assets/release and go to line 1054.

  6. In that line, look for suspicious code. In this example, it was if (new.target === DataSource). This is not supported yet by the Android Javascript engine and we need either to not use the syntax or add the babel plugin babel-plugin-transform-new-target to transpile the code.

Cannot load module file xxx. File xxx.iml does not exist

When modules are not loading, check if all imports in MainApplication.java and dependencies are there. One missing dependency or import and the build can break with cryptic error messages.

iOS

error: Build input file cannot be found: '.../node_modules/react-native/third-party/double-conversion-1.1.5/src/fixed-dtoa.cc'

If you are a new Xcode, you might have this error. React Native libraries are slow to move to the new iOS libraries. Make sure you are using legacy build system.

Xcode -> File -> Workspace Settings ...

Legacy build system

AppleHealthKit from 'rn-apple-healthkit' doesn't return from the Native calls and blocks the fetch code

Make sure to always call AppleHealthKit.initHealthKit() before anu other call to the rn-apple-healthkit otherwise the native module silently blocks the Health Kit query thread and you can spend hours debugging the problem.

Build Status

Nevercode React Native

Nevercode build status

App Center

OSStatus
AndroidBuild status
iOSBuild status

About

Mobile app to calculate the user health score and issue Medits tokens

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Repository files navigation

Humantiv

Mobile app to calculate the user health score and issue Medits tokens

Development Environment and Configuration

Android

Step 1: Get the SHA-1 of your Android Developer Debug Keystore

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore

The password is android.

Copy the SHA-1 value, which will look something like this in the output:

Certificate Fingerprints

SHA1: aa:bb:cc:dd:ee:ff:11:22:33:44:47:D0:9E:8D:E0:0C:79:F1:0F:CB

Step 2: Add the SHA to the Android App in the Firebase Console

Now open up your Android App in the Firebase console and add the SHA-1:

image

Release build on device

Connect the iOS or Android phones with a USB cable to the computer and follow the following steps:

iOS


./scripts/run_release_ios.sh

Android


./scripts/run_release_android.sh

Component development

Storybook is used to develop and modify components. To run Storybook, run the commands below:


npm run storybook

and from another terminal run:


react-native run-ios

Development resources

Custom Fonts

Please follow this guide to add a new custom font:

Custom Fonts in React Native for iOS & Android Builds

Troubeshooting

Android:

Module cannot be loaded in Android Studio. .iml file cannot be found:

  1. Close the project

  2. Re-open it

  3. Try to fix any wrong dependency version

  4. Android Studio -> File -> Invalidate Caches/ Restart

App crashes at startup in release mode

The app crashes at startup. Here is the procedure to follow in this case:

  1. Attach an Android phone with the release version of the app to the computer.

  2. Run Android studio and select the phone and application i the Logcat window. Filter the message with Error instead of Verbose

  3. Run the app and after the crash look at the log

  4. Example: In one case the log said: Got JS Exception: Unexpected token '.' (index.android.bundle:1054) This error happens in the release version of the app.

  5. Now, we have to look at the index.android.bundle file in android/app/buil/intermediates/assets/release and go to line 1054.

  6. In that line, look for suspicious code. In this example, it was if (new.target === DataSource). This is not supported yet by the Android Javascript engine and we need either to not use the syntax or add the babel plugin babel-plugin-transform-new-target to transpile the code.

Cannot load module file xxx. File xxx.iml does not exist

When modules are not loading, check if all imports in MainApplication.java and dependencies are there. One missing dependency or import and the build can break with cryptic error messages.

iOS

error: Build input file cannot be found: '.../node_modules/react-native/third-party/double-conversion-1.1.5/src/fixed-dtoa.cc'

If you are a new Xcode, you might have this error. React Native libraries are slow to move to the new iOS libraries. Make sure you are using legacy build system.

Xcode -> File -> Workspace Settings ...

Legacy build system

AppleHealthKit from 'rn-apple-healthkit' doesn't return from the Native calls and blocks the fetch code

Make sure to always call AppleHealthKit.initHealthKit() before anu other call to the rn-apple-healthkit otherwise the native module silently blocks the Health Kit query thread and you can spend hours debugging the problem.

Build Status

Nevercode React Native

Nevercode build status

App Center

OSStatus
AndroidBuild status
iOSBuild status

About

Mobile app to calculate the user health score and issue Medits tokens

Resources

Stars

5 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages