Skip to content

Commit

Permalink
Added a generated library project
Browse files Browse the repository at this point in the history
  • Loading branch information
weeeBox committed Mar 12, 2018
0 parents commit d640190
Show file tree
Hide file tree
Showing 14 changed files with 536 additions and 0 deletions.
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
*.pbxproj -text
46 changes: 46 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@

# OSX
#
.DS_Store

# node.js
#
node_modules/
npm-debug.log
yarn-error.log


# Xcode
#
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata
*.xccheckout
*.moved-aside
DerivedData
*.hmap
*.ipa
*.xcuserstate
project.xcworkspace


# Android/IntelliJ
#
build/
.idea
.gradle
local.properties
*.iml

# BUCK
buck-out/
\.buckd/
*.keystore

53 changes: 53 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@

# react-native-apptentive-module

## Getting started

`$ npm install react-native-apptentive-module --save`

### Mostly automatic installation

`$ react-native link react-native-apptentive-module`

### Manual installation


#### iOS

1. In XCode, in the project navigator, right click `Libraries``Add Files to [your project's name]`
2. Go to `node_modules``react-native-apptentive-module` and add `RNApptentiveModule.xcodeproj`
3. In XCode, in the project navigator, select your project. Add `libRNApptentiveModule.a` to your project's `Build Phases``Link Binary With Libraries`
4. Run your project (`Cmd+R`)<

#### Android

1. Open up `android/app/src/main/java/[...]/MainActivity.java`
- Add `import com.reactlibrary.RNApptentiveModulePackage;` to the imports at the top of the file
- Add `new RNApptentiveModulePackage()` to the list returned by the `getPackages()` method
2. Append the following lines to `android/settings.gradle`:
```
include ':react-native-apptentive-module'
project(':react-native-apptentive-module').projectDir = new File(rootProject.projectDir, '../node_modules/react-native-apptentive-module/android')
```
3. Insert the following lines inside the dependencies block in `android/app/build.gradle`:
```
compile project(':react-native-apptentive-module')
```

#### Windows
[Read it! :D](https://github.com/ReactWindows/react-native)

1. In Visual Studio add the `RNApptentiveModule.sln` in `node_modules/react-native-apptentive-module/windows/RNApptentiveModule.sln` folder to their solution, reference from their app.
2. Open up your `MainPage.cs` app
- Add `using Apptentive.Module.RNApptentiveModule;` to the usings at the top of the file
- Add `new RNApptentiveModulePackage()` to the `List<IReactPackage>` returned by the `Packages` method


## Usage
```javascript
import RNApptentiveModule from 'react-native-apptentive-module';

// TODO: What to do with the module?
RNApptentiveModule;
```

36 changes: 36 additions & 0 deletions android/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@

buildscript {
repositories {
jcenter()
}

dependencies {
classpath 'com.android.tools.build:gradle:1.3.1'
}
}

apply plugin: 'com.android.library'

android {
compileSdkVersion 23
buildToolsVersion "23.0.1"

defaultConfig {
minSdkVersion 16
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
lintOptions {
abortOnError false
}
}

repositories {
mavenCentral()
}

dependencies {
compile 'com.facebook.react:react-native:+'
}

6 changes: 6 additions & 0 deletions android/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.reactlibrary">

</manifest>

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@

package com.reactlibrary;

import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.bridge.ReactContextBaseJavaModule;
import com.facebook.react.bridge.ReactMethod;
import com.facebook.react.bridge.Callback;

public class RNApptentiveModuleModule extends ReactContextBaseJavaModule {

private final ReactApplicationContext reactContext;

public RNApptentiveModuleModule(ReactApplicationContext reactContext) {
super(reactContext);
this.reactContext = reactContext;
}

@Override
public String getName() {
return "RNApptentiveModule";
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@

package com.reactlibrary;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import com.facebook.react.ReactPackage;
import com.facebook.react.bridge.NativeModule;
import com.facebook.react.bridge.ReactApplicationContext;
import com.facebook.react.uimanager.ViewManager;
import com.facebook.react.bridge.JavaScriptModule;
public class RNApptentiveModulePackage implements ReactPackage {
@Override
public List<NativeModule> createNativeModules(ReactApplicationContext reactContext) {
return Arrays.<NativeModule>asList(new RNApptentiveModuleModule(reactContext));
}

// Deprecated from RN 0.47
public List<Class<? extends JavaScriptModule>> createJSModules() {
return Collections.emptyList();
}

@Override
public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
return Collections.emptyList();
}
}
6 changes: 6 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@

import { NativeModules } from 'react-native';

const { RNApptentiveModule } = NativeModules;

export default RNApptentiveModule;
11 changes: 11 additions & 0 deletions ios/RNApptentiveModule.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@

#if __has_include("RCTBridgeModule.h")
#import "RCTBridgeModule.h"
#else
#import <React/RCTBridgeModule.h>
#endif

@interface RNApptentiveModule : NSObject <RCTBridgeModule>

@end

13 changes: 13 additions & 0 deletions ios/RNApptentiveModule.m
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@

#import "RNApptentiveModule.h"

@implementation RNApptentiveModule

- (dispatch_queue_t)methodQueue
{
return dispatch_get_main_queue();
}
RCT_EXPORT_MODULE()

@end

24 changes: 24 additions & 0 deletions ios/RNApptentiveModule.podspec
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

Pod::Spec.new do |s|
s.name = "RNApptentiveModule"
s.version = "1.0.0"
s.summary = "RNApptentiveModule"
s.description = <<-DESC
RNApptentiveModule
DESC
s.homepage = ""
s.license = "MIT"
# s.license = { :type => "MIT", :file => "FILE_LICENSE" }
s.author = { "author" => "[email protected]" }
s.platform = :ios, "7.0"
s.source = { :git => "https://github.com/author/RNApptentiveModule.git", :tag => "master" }
s.source_files = "RNApptentiveModule/**/*.{h,m}"
s.requires_arc = true


s.dependency "React"
#s.dependency "others"

end


Loading

0 comments on commit d640190

Please sign in to comment.