Switch to cordova framework - IOS support
36
cordova/android/AndroidManifest.xml
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" android:windowSoftInputMode="adjustPan" package="com.bitpay.copay" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
|
||||
<uses-permission android:name="android.permission.INTERNET" />
|
||||
<application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
|
||||
<activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:launchMode="singleTop" android:name="Copay" android:theme="@android:style/Theme.Black.NoTitleBar">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:clearTaskOnLaunch="true" android:configChanges="orientation|keyboardHidden" android:exported="false" android:name="com.google.zxing.client.android.CaptureActivity" android:screenOrientation="landscape" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:windowSoftInputMode="stateAlwaysHidden">
|
||||
<intent-filter>
|
||||
<action android:name="com.phonegap.plugins.barcodescanner.SCAN" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:label="@string/share_name" android:name="com.google.zxing.client.android.encode.EncodeActivity">
|
||||
<intent-filter>
|
||||
<action android:name="com.phonegap.plugins.barcodescanner.ENCODE" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<activity android:label="@string/share_name" android:name="com.google.zxing.client.android.HelpActivity">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.VIEW" />
|
||||
<category android:name="android.intent.category.DEFAULT" />
|
||||
</intent-filter>
|
||||
</activity>
|
||||
<provider android:authorities="com.bitpay.copay.plugin.emailcomposer.attachmentprovider" android:name="de.appplant.cordova.plugin.emailcomposer.AttachmentProvider" />
|
||||
</application>
|
||||
<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
|
||||
<uses-permission android:name="android.permission.CAMERA" />
|
||||
<uses-permission android:name="android.permission.FLASHLIGHT" />
|
||||
<uses-feature android:name="android.hardware.camera" android:required="false" />
|
||||
</manifest>
|
||||
41
cordova/android/config.xml
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<widget id="com.bitpay.copay" version="2.0.0" xmlns="http://www.w3.org/ns/widgets">
|
||||
<name>Copay</name>
|
||||
<description>
|
||||
A secure bitcoin wallet for friends and companies.
|
||||
</description>
|
||||
<author email="support@bitpay.com" href="https://copay.io/">
|
||||
Bitpay Inc.
|
||||
</author>
|
||||
<content src="index.html" />
|
||||
<access origin="*" />
|
||||
<preference name="loglevel" value="DEBUG" />
|
||||
<preference name="AndroidLaunchMode" value="singleTop" />
|
||||
<preference name="splashscreen" value="screen" />
|
||||
<preference name="splashScreenDelay" value="10000" />
|
||||
<preference name="backgroundColor" value="0x2C3E50" />
|
||||
<feature name="App">
|
||||
<param name="android-package" value="com.bitpay.copay" />
|
||||
</feature>
|
||||
<feature name="WebIntent">
|
||||
<param name="android-package" value="com.borismus.webintent.WebIntent" />
|
||||
</feature>
|
||||
<feature name="BarcodeScanner">
|
||||
<param name="android-package" value="com.phonegap.plugins.barcodescanner.BarcodeScanner" />
|
||||
</feature>
|
||||
<feature name="Clipboard">
|
||||
<param name="android-package" value="com.verso.cordova.clipboard.Clipboard" />
|
||||
</feature>
|
||||
<feature name="EmailComposer">
|
||||
<param name="android-package" value="de.appplant.cordova.plugin.emailcomposer.EmailComposer" />
|
||||
</feature>
|
||||
<feature name="Toast">
|
||||
<param name="android-package" value="nl.xservices.plugins.Toast" />
|
||||
</feature>
|
||||
<feature name="SplashScreen">
|
||||
<param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
|
||||
</feature>
|
||||
<feature name="StatusBar">
|
||||
<param name="android-package" onload="true" value="org.apache.cordova.statusbar.StatusBar" />
|
||||
</feature>
|
||||
</widget>
|
||||
123
cordova/build.sh
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
#! /bin/bash
|
||||
|
||||
# Usage:
|
||||
# sh ./build.sh --android --reload
|
||||
|
||||
OpenColor="\033["
|
||||
Red="1;31m"
|
||||
Yellow="1;33m"
|
||||
Green="1;32m"
|
||||
CloseColor="\033[0m"
|
||||
|
||||
# Check function OK
|
||||
checkOK() {
|
||||
if [ $? != 0 ]; then
|
||||
echo "${OpenColor}${Red}* ERROR. Exiting...${CloseColor}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Configs
|
||||
BUILDDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
||||
PROJECT="$BUILDDIR/project"
|
||||
VERSION=`cut -d '"' -f2 $BUILDDIR/../version.js`
|
||||
|
||||
SKIPIOS=false
|
||||
CLEAR=false
|
||||
|
||||
# Check Args
|
||||
if [[ $1 = "--android" || $2 = "--android" ]]
|
||||
then
|
||||
SKIPIOS=true
|
||||
fi
|
||||
|
||||
if [[ $1 = "--clear" || $2 = "--clear" ]]
|
||||
then
|
||||
CLEAR=true
|
||||
fi
|
||||
|
||||
|
||||
echo "${OpenColor}${Green}* Checking dependencies...${CloseColor}"
|
||||
command -v cordova >/dev/null 2>&1 || { echo >&2 "Cordova is not present, please install it: sudo npm -g cordova."; exit 1; }
|
||||
command -v xcodebuild >/dev/null 2>&1 || { echo >&2 "XCode is not present, install it or use [--android]."; exit 1; }
|
||||
|
||||
|
||||
# Create project dir
|
||||
if [[ CLEAR ]]
|
||||
then
|
||||
if [ -d $PROJECT ]; then
|
||||
rm -rf $PROJECT
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -d $PROJECT ]; then
|
||||
cd $BUILDDIR
|
||||
echo "${OpenColor}${Green}* Creating project... ${CloseColor}"
|
||||
cordova create project com.bitpay.copay Copay
|
||||
checkOK
|
||||
|
||||
cd $PROJECT
|
||||
echo "${OpenColor}${Green}* Adding Android platform... ${CloseColor}"
|
||||
cordova platforms add android
|
||||
checkOK
|
||||
|
||||
if [[ !SKIPIOS ]]; then
|
||||
echo "${OpenColor}${Green}* Adding IOS platform... ${CloseColor}"
|
||||
cordova platforms add ios
|
||||
checkOK
|
||||
fi
|
||||
|
||||
echo "${OpenColor}${Green}* Installing plugins... ${CloseColor}"
|
||||
cordova plugin add https://github.com/Initsogar/cordova-webintent.git
|
||||
checkOK
|
||||
|
||||
cordova plugin add https://github.com/wildabeast/BarcodeScanner.git
|
||||
checkOK
|
||||
|
||||
cordova plugin add https://github.com/VersoSolutions/CordovaClipboard
|
||||
checkOK
|
||||
|
||||
cordova plugin add de.appplant.cordova.plugin.email-composer && cordova prepare
|
||||
checkOK
|
||||
|
||||
cordova plugin add https://github.com/EddyVerbruggen/Toast-PhoneGap-Plugin.git && cordova prepare
|
||||
checkOK
|
||||
|
||||
cordova plugin add org.apache.cordova.splashscreen
|
||||
checkOK
|
||||
|
||||
cordova plugin add org.apache.cordova.statusbar
|
||||
checkOK
|
||||
fi
|
||||
|
||||
echo "${OpenColor}${Green}* Generating copay bundle...${CloseColor}"
|
||||
cd $BUILDDIR/..
|
||||
grunt
|
||||
checkOK
|
||||
|
||||
echo "${OpenColor}${Green}* Coping files...${CloseColor}"
|
||||
cd $BUILDDIR/..
|
||||
cp -af {css,font,img,js,lib,sound,views,config.js,version.js} $PROJECT/www
|
||||
checkOK
|
||||
|
||||
sed "s/<\!-- PLACEHOLDER: CORDOVA SRIPT -->/<script type='text\/javascript' charset='utf-8' src='cordova.js'><\/script>/g" index.html > $PROJECT/www/index.html
|
||||
checkOK
|
||||
|
||||
cd $BUILDDIR
|
||||
cp config.xml $PROJECT/config.xml
|
||||
checkOK
|
||||
|
||||
cp android/AndroidManifest.xml $PROJECT/platforms/android/AndroidManifest.xml
|
||||
checkOK
|
||||
|
||||
cp android/config.xml $PROJECT/platforms/android/res/xml/config.xml
|
||||
checkOK
|
||||
|
||||
cp -R ios/icons $PROJECT/platforms/ios/Copay/Resources/icons
|
||||
checkOK
|
||||
|
||||
cp -R ios/splash $PROJECT/platforms/ios/Copay/Resources/splash
|
||||
checkOK
|
||||
|
||||
|
||||
|
||||
16
cordova/config.xml
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<widget id="com.bitpay.copay" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
<name>Copay</name>
|
||||
<description>
|
||||
A secure bitcoin wallet for friends and companies.
|
||||
</description>
|
||||
<author email="support@bitpay.com" href="http://copay.io">
|
||||
BitPay Inc.
|
||||
</author>
|
||||
<content src="index.html" />
|
||||
<access origin="*" />
|
||||
<preference name="splashscreen" value="screen" />
|
||||
<preference name="splashScreenDelay" value="10000" />
|
||||
<preference name="backgroundColor" value="0x2C3E50" />
|
||||
<preference name="StatusBarOverlaysWebView" value="false" />
|
||||
</widget>
|
||||
94
cordova/ios/Copay-Info.plist
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>English</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>icon.png</string>
|
||||
<key>CFBundleIcons</key>
|
||||
<dict>
|
||||
<key>CFBundlePrimaryIcon</key>
|
||||
<dict>
|
||||
<key>CFBundleIconFiles</key>
|
||||
<array>
|
||||
<string>icon-40</string>
|
||||
<string>icon-small</string>
|
||||
<string>icon-60</string>
|
||||
<string>icon.png</string>
|
||||
<string>icon@2x</string>
|
||||
<string>icon-72</string>
|
||||
<string>icon-72@2x</string>
|
||||
</array>
|
||||
<key>UIPrerenderedIcon</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>CFBundleIcons~ipad</key>
|
||||
<dict>
|
||||
<key>CFBundlePrimaryIcon</key>
|
||||
<dict>
|
||||
<key>CFBundleIconFiles</key>
|
||||
<array>
|
||||
<string>icon-small</string>
|
||||
<string>icon-40</string>
|
||||
<string>icon-50</string>
|
||||
<string>icon-76</string>
|
||||
<string>icon-60</string>
|
||||
<string>icon</string>
|
||||
<string>icon@2x</string>
|
||||
<string>icon-72</string>
|
||||
<string>icon-72@2x</string>
|
||||
</array>
|
||||
<key>UIPrerenderedIcon</key>
|
||||
<false/>
|
||||
</dict>
|
||||
</dict>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.bitpay.copay</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>${PRODUCT_NAME}</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
<string>0.4.7</string>
|
||||
<key>CFBundleSignature</key>
|
||||
<string>????</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>com.bitpay.copay</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>bitcoin</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>0.4.7</string>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>NSMainNibFile</key>
|
||||
<string></string>
|
||||
<key>NSMainNibFile~ipad</key>
|
||||
<string></string>
|
||||
<key>UISupportedInterfaceOrientations</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
</array>
|
||||
<key>UISupportedInterfaceOrientations~ipad</key>
|
||||
<array>
|
||||
<string>UIInterfaceOrientationPortrait</string>
|
||||
<string>UIInterfaceOrientationLandscapeLeft</string>
|
||||
<string>UIInterfaceOrientationPortraitUpsideDown</string>
|
||||
<string>UIInterfaceOrientationLandscapeRight</string>
|
||||
</array>
|
||||
</dict>
|
||||
</plist>
|
||||
BIN
cordova/ios/icons/iTunesArtwork.png
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
cordova/ios/icons/iTunesArtwork@2x.png
Normal file
|
After Width: | Height: | Size: 52 KiB |
BIN
cordova/ios/icons/icon-40.png
Normal file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
cordova/ios/icons/icon-40@2x.png
Normal file
|
After Width: | Height: | Size: 3.6 KiB |
BIN
cordova/ios/icons/icon-50.png
Normal file
|
After Width: | Height: | Size: 1.7 KiB |
BIN
cordova/ios/icons/icon-50@2x.png
Normal file
|
After Width: | Height: | Size: 4.6 KiB |
BIN
cordova/ios/icons/icon-57.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
cordova/ios/icons/icon-57@2x.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
cordova/ios/icons/icon-60.png
Normal file
|
After Width: | Height: | Size: 2.8 KiB |
BIN
cordova/ios/icons/icon-60@2x.png
Normal file
|
After Width: | Height: | Size: 5.5 KiB |
BIN
cordova/ios/icons/icon-72.png
Normal file
|
After Width: | Height: | Size: 3.2 KiB |
BIN
cordova/ios/icons/icon-72@2x.png
Normal file
|
After Width: | Height: | Size: 6.5 KiB |
BIN
cordova/ios/icons/icon-76.png
Normal file
|
After Width: | Height: | Size: 3.4 KiB |
BIN
cordova/ios/icons/icon-76@2x.png
Normal file
|
After Width: | Height: | Size: 7 KiB |
BIN
cordova/ios/icons/icon-small.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
cordova/ios/icons/icon-small@2x.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
cordova/ios/icons/icon.png
Normal file
|
After Width: | Height: | Size: 1.9 KiB |
BIN
cordova/ios/icons/icon@2x.png
Normal file
|
After Width: | Height: | Size: 5.1 KiB |
BIN
cordova/ios/splash/Default-568h@2x~iphone.png
Normal file
|
After Width: | Height: | Size: 31 KiB |
BIN
cordova/ios/splash/Default-Landscape@2x~ipad.png
Normal file
|
After Width: | Height: | Size: 88 KiB |
BIN
cordova/ios/splash/Default-Landscape~ipad.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
cordova/ios/splash/Default-Portrait@2x~ipad.png
Normal file
|
After Width: | Height: | Size: 89 KiB |
BIN
cordova/ios/splash/Default-Portrait~ipad.png
Normal file
|
After Width: | Height: | Size: 33 KiB |
BIN
cordova/ios/splash/Default@2x~iphone.png
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
cordova/ios/splash/Default~iphone.png
Normal file
|
After Width: | Height: | Size: 10 KiB |