Skip to content

Native mobile apps for share actions on iOS and Android

License

Notifications You must be signed in to change notification settings

e-schneid/Durin

 
 

Repository files navigation

image

Availability

Durin is an iOS and Android app for exploring IPFS use-cases. Initially with read and share flows, but a place where we can experiment with light client protocol implementation, proximity transports and the "where's my stuff" problem.

Project Details

Created using ionic.

Installation

REACT_APP_WEB3_STORAGE_TOKEN=YOUR_TOKEN
  • Run the following commands:
xcode-select --install # Install Command Line Tools if you haven't already.
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer

brew install --cask android-studio
sudo gem install cocoapods
npm i -g @ionic/cli
npm install
npm run sync
npx ionic capacitor run ios --livereload # Opens and runs the iOS app - you will pick which device to run it on. If you have a physical device plugged in, you can select that as well.

Then add export JAVA_HOME=/Applications/Android\ Studio.app/Contents/jre/Contents/Home/ to your .bashrc or .zshrc.

Apple Silicon

If you are using Apple silicon, you will need to follow this first: https://armen-mkrtchian.medium.com/run-cocoapods-on-apple-silicon-and-macos-big-sur-developer-transition-kit-b62acffc1387

Testing

When making changes or running for the first time, run npm run sync to update the native applications.

iOS

To test on iOS, run npm run ios which will open XCode, then using the UI run it in an emulator.

Note: Firefox and Chrome for iOS do not support custom protocols being typed into the address bar. Clicking links should work fine, however.

Android

To test on Android, run npm run android which will open the studio, then using the UI run it in an emulator.

Note: Android chrome does not support custom protocols - you will need to type intent://durin/CID_GOES_HERE#Intent;scheme=ipfs;end

Publishing

Apple: ios/App/App/info.plist version string needs to be bumped after each release. This prevents testflight from pulling and failing on already published version numbers.

Android: android/app/build.gradle versionName needs to be bumped for new publishing. Also versionCode needs to be bumped with each manual upload of the signed bundle.

Credits

Made with ❤️ by Justice Engineering & Trigram

About

Native mobile apps for share actions on iOS and Android

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 62.2%
  • SCSS 18.6%
  • CSS 8.9%
  • Swift 4.4%
  • Java 1.9%
  • Ruby 1.6%
  • Other 2.4%