Skip to content

Commit 7069451

Browse files
committed
feat: improve documentation formatting and add example README
- Fix code block formatting in iOS and Android setup sections - Remove unnecessary import statements from code examples - Add consistent spacing and line breaks for better readability - Create new example README with comprehensive React Native setup guide - Include detailed instructions for Metro, Android, and iOS development workflows - Add troubleshooting tips and development shortcuts for better developer experience
1 parent ed44f20 commit 7069451

20 files changed

Lines changed: 170 additions & 2711 deletions

File tree

README.md

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -29,18 +29,18 @@ npm install react-native-nitro-share-intent react-native-nitro-modules
2929
### iOS Setup
3030

3131
1. **Add to AppDelegate.swift**:
32+
3233
```swift
33-
import NitroShareIntent
34-
34+
3535
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
3636
// Your existing code...
37-
37+
3838
// Notify NitroShareIntent about app launch
3939
NotificationCenter.default.post(name: NSNotification.Name("AppDidFinishLaunching"), object: nil)
40-
40+
4141
return true
4242
}
43-
43+
4444
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey : Any] = [:]) -> Bool {
4545
// Handle share intent URLs
4646
NotificationCenter.default.post(
@@ -72,17 +72,18 @@ npm install react-native-nitro-share-intent react-native-nitro-modules
7272
### Android Setup
7373

7474
1. **Add to MainActivity.java/kt**:
75+
7576
```kotlin
7677
import com.margelo.nitro.nitroshareintent.NitroShareIntent
77-
78+
7879
override fun onCreate(savedInstanceState: Bundle?) {
7980
super.onCreate(savedInstanceState)
8081
// Your existing code...
81-
82+
8283
// Handle initial share intent
8384
NitroShareIntent.instance.handleIntent(intent)
8485
}
85-
86+
8687
override fun onNewIntent(intent: Intent) {
8788
super.onNewIntent(intent)
8889
// Handle new share intents
@@ -91,26 +92,27 @@ npm install react-native-nitro-share-intent react-native-nitro-modules
9192
```
9293

9394
2. **Configure Intent Filters in AndroidManifest.xml**:
95+
9496
```xml
9597
<activity
9698
android:name=".MainActivity"
9799
android:exported="true"
98100
android:launchMode="singleTop">
99-
101+
100102
<!-- Handle text sharing -->
101103
<intent-filter>
102104
<action android:name="android.intent.action.SEND" />
103105
<category android:name="android.intent.category.DEFAULT" />
104106
<data android:mimeType="text/plain" />
105107
</intent-filter>
106-
108+
107109
<!-- Handle file sharing -->
108110
<intent-filter>
109111
<action android:name="android.intent.action.SEND" />
110112
<category android:name="android.intent.category.DEFAULT" />
111113
<data android:mimeType="*/*" />
112114
</intent-filter>
113-
115+
114116
<!-- Handle multiple file sharing -->
115117
<intent-filter>
116118
<action android:name="android.intent.action.SEND_MULTIPLE" />

example/README.md

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
This is a new [**React Native**](https://reactnative.dev) project, bootstrapped using [`@react-native-community/cli`](https://github.com/react-native-community/cli).
2+
3+
# Getting Started
4+
5+
> **Note**: Make sure you have completed the [Set Up Your Environment](https://reactnative.dev/docs/set-up-your-environment) guide before proceeding.
6+
7+
## Step 1: Start Metro
8+
9+
First, you will need to run **Metro**, the JavaScript build tool for React Native.
10+
11+
To start the Metro dev server, run the following command from the root of your React Native project:
12+
13+
```sh
14+
# Using npm
15+
npm start
16+
17+
# OR using Yarn
18+
yarn start
19+
```
20+
21+
## Step 2: Build and run your app
22+
23+
With Metro running, open a new terminal window/pane from the root of your React Native project, and use one of the following commands to build and run your Android or iOS app:
24+
25+
### Android
26+
27+
```sh
28+
# Using npm
29+
npm run android
30+
31+
# OR using Yarn
32+
yarn android
33+
```
34+
35+
### iOS
36+
37+
For iOS, remember to install CocoaPods dependencies (this only needs to be run on first clone or after updating native deps).
38+
39+
The first time you create a new project, run the Ruby bundler to install CocoaPods itself:
40+
41+
```sh
42+
bundle install
43+
```
44+
45+
Then, and every time you update your native dependencies, run:
46+
47+
```sh
48+
bundle exec pod install
49+
```
50+
51+
For more information, please visit [CocoaPods Getting Started guide](https://guides.cocoapods.org/using/getting-started.html).
52+
53+
```sh
54+
# Using npm
55+
npm run ios
56+
57+
# OR using Yarn
58+
yarn ios
59+
```
60+
61+
If everything is set up correctly, you should see your new app running in the Android Emulator, iOS Simulator, or your connected device.
62+
63+
This is one way to run your app — you can also build it directly from Android Studio or Xcode.
64+
65+
## Step 3: Modify your app
66+
67+
Now that you have successfully run the app, let's make changes!
68+
69+
Open `App.tsx` in your text editor of choice and make some changes. When you save, your app will automatically update and reflect these changes — this is powered by [Fast Refresh](https://reactnative.dev/docs/fast-refresh).
70+
71+
When you want to forcefully reload, for example to reset the state of your app, you can perform a full reload:
72+
73+
- **Android**: Press the <kbd>R</kbd> key twice or select **"Reload"** from the **Dev Menu**, accessed via <kbd>Ctrl</kbd> + <kbd>M</kbd> (Windows/Linux) or <kbd>Cmd ⌘</kbd> + <kbd>M</kbd> (macOS).
74+
- **iOS**: Press <kbd>R</kbd> in iOS Simulator.
75+
76+
## Congratulations! :tada:
77+
78+
You've successfully run and modified your React Native App. :partying_face:
79+
80+
### Now what?
81+
82+
- If you want to add this new React Native code to an existing application, check out the [Integration guide](https://reactnative.dev/docs/integration-with-existing-apps).
83+
- If you're curious to learn more about React Native, check out the [docs](https://reactnative.dev/docs/getting-started).
84+
85+
# Troubleshooting
86+
87+
If you're having issues getting the above steps to work, see the [Troubleshooting](https://reactnative.dev/docs/troubleshooting) page.
88+
89+
# Learn More
90+
91+
To learn more about React Native, take a look at the following resources:
92+
93+
- [React Native Website](https://reactnative.dev) - learn more about React Native.
94+
- [Getting Started](https://reactnative.dev/docs/environment-setup) - an **overview** of React Native and how setup your environment.
95+
- [Learn the Basics](https://reactnative.dev/docs/getting-started) - a **guided tour** of the React Native **basics**.
96+
- [Blog](https://reactnative.dev/blog) - read the latest official React Native **Blog** posts.
97+
- [`@facebook/react-native`](https://github.com/facebook/react-native) - the Open Source; GitHub **repository** for React Native.

example/__tests__/App.test.tsx

Lines changed: 0 additions & 13 deletions
This file was deleted.

example/android/app/build.gradle

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -77,9 +77,9 @@ android {
7777
buildToolsVersion rootProject.ext.buildToolsVersion
7878
compileSdk rootProject.ext.compileSdkVersion
7979

80-
namespace "com.nitroshareintentexample"
80+
namespace "nitroshareintent.example"
8181
defaultConfig {
82-
applicationId "com.nitroshareintentexample"
82+
applicationId "nitroshareintent.example"
8383
minSdkVersion rootProject.ext.minSdkVersion
8484
targetSdkVersion rootProject.ext.targetSdkVersion
8585
versionCode 1
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<?xml version="1.0" encoding="utf-8"?>
2+
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3+
xmlns:tools="http://schemas.android.com/tools">
4+
5+
<application
6+
android:usesCleartextTraffic="true"
7+
tools:targetApi="28"
8+
tools:ignore="GoogleAppIndexingWarning"/>
9+
</manifest>

example/android/app/src/main/AndroidManifest.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99
android:roundIcon="@mipmap/ic_launcher_round"
1010
android:allowBackup="false"
1111
android:theme="@style/AppTheme"
12-
android:usesCleartextTraffic="${usesCleartextTraffic}"
1312
android:supportsRtl="true">
1413
<activity
1514
android:name=".MainActivity"

example/android/app/src/main/java/com/nitroshareintentexample/MainActivity.kt renamed to example/android/app/src/main/java/nitroshareintent/example/MainActivity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.nitroshareintentexample
1+
package nitroshareintent.example
22

33
import com.facebook.react.ReactActivity
44
import com.facebook.react.ReactActivityDelegate

example/android/app/src/main/java/com/nitroshareintentexample/MainApplication.kt renamed to example/android/app/src/main/java/nitroshareintent/example/MainApplication.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.nitroshareintentexample
1+
package nitroshareintent.example
22

33
import android.app.Application
44
import com.facebook.react.PackageList

example/android/settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
pluginManagement { includeBuild("../node_modules/@react-native/gradle-plugin") }
22
plugins { id("com.facebook.react.settings") }
33
extensions.configure(com.facebook.react.ReactSettingsExtension){ ex -> ex.autolinkLibrariesFromCommand() }
4-
rootProject.name = 'NitroShareIntentExample'
4+
rootProject.name = 'nitroshareintent.example'
55
include ':app'
66
includeBuild('../node_modules/@react-native/gradle-plugin')

example/index.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,5 @@
1-
/**
2-
* @format
3-
*/
4-
51
import { AppRegistry } from 'react-native';
6-
import App from './App';
2+
import App from './src/App';
73
import { name as appName } from './app.json';
84

95
AppRegistry.registerComponent(appName, () => App);

0 commit comments

Comments
 (0)