Skip to content
/ app-polo Public

The fastest, easiest, bestest way to log your amateur radio operations on the go.

License

Notifications You must be signed in to change notification settings

ham2k/app-polo

Repository files navigation

Ham2K Portable Logger - PoLo

An app for Amateur Radio operations.

Our Community

Install Links

This app is Open Source and licensed under the Mozilla Public License 2.0


Notes for Developers

Development Environment

First, complete the React Native - Environment Setup instructions up to just before "Creating a new application" step.

Then clone this repository and install the dependencies:

npm install

And finally, build the app for your target platform:

# iOS
(cd ios && RCT_NEW_ARCH_ENABLED=1 pod install)
npm run ios

# Android
npm run android -- --mode alphaDebug

Debug Menu

iOS: Cmd ⌘ + D

Android: Cmd ⌘ + M (macOS) or Ctrl + M (Windows and Linux)

Resources

Icons from https://pictogrammers.com/library/mdi/

Access iOS Simulator Info

https://www.iosdev.recipes/simctl/

xcrun simctl
xcrun simctl listapps booted # List all apps

Local path for PoLo's internal files

open `xcrun simctl get_app_container booted com.ham2k.polo data`/Documents

Local path where files are saved when exporting and "Save To Files"

open `xcrun simctl get_app_container booted com.apple.DocumentsApp groups |grep FileProvider.LocalStorage|sed "s/group.com.apple.FileProvider.LocalStorage//g"`/File\ Provider\ Storage

Known Issues

Android builds from the metro bundler terminal

Because of a mess with our multiple build flavors, under RN 0.73 the default way of running android for development is broken so you cannot just press a from the metro bundler terminal to run the app on android.

Instead, run the metro bundler (npm start) on one terminal, and run npm run android on another to build the app.

Afterwards, just press r on the metro bundler terminal to reload the app.

Troubleshooting

Clean Build

# For all platforms
rm -rf node_modules
npm install

# For android
rm -rf android/app/.cxx
(cd android && ./gradlew clean)

# For iOS
rm -rf ~/Library/Caches/CocoaPods
rm -rf ios/Pods
rm -rf ios/Podfile.lock
rm -rf ios/build
(cd ios && RCT_NEW_ARCH_ENABLED=1 pod install)

# For all platforms
watchman watch-del .
watchman watch-project .
npm start -- --reset-cache

"Unable to boot simulator" error for iOS Simulator

  • Go to [About this Mac > Storage > Manage > Developer]
  • Delete XCode caches

https://github.com/shinydevelopment/SimulatorStatusMagic

Some troubleshooting links

React Native Troubleshooting page.


This is a new React Native project, bootstrapped using @react-native-community/cli.

Getting Started

Note: Make sure you have completed the React Native - Environment Setup instructions till "Creating a new application" step, before proceeding.

Step 1: Start the Metro Server

First, you will need to start Metro, the JavaScript bundler that ships with React Native.

To start Metro, run the following command from the root of your React Native project:

# using npm
npm start

# OR using Yarn
yarn start

Step 2: Start your Application

Let Metro Bundler run in its own terminal. Open a new terminal from the root of your React Native project. Run the following command to start your Android or iOS app:

For Android

# using npm
npm run android

# OR using Yarn
yarn android

For iOS

# using npm
npm run ios

# OR using Yarn
yarn ios

If everything is set up correctly, you should see your new app running in your Android Emulator or iOS Simulator shortly provided you have set up your emulator/simulator correctly.

This is one way to run your app — you can also run it directly from within Android Studio and Xcode respectively.

Learn More

To learn more about React Native, take a look at the following resources: