Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
cordova-plugin-local-notifications
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Nabil Sadki
cordova-plugin-local-notifications
Commits
13af9eab
Commit
13af9eab
authored
Mar 24, 2015
by
Sebastián Katzer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update project and plugin
parent
c4a5a7cb
Hide whitespace changes
Inline
Side-by-side
Showing
29 changed files
with
589 additions
and
461 deletions
+589
-461
project.pbxproj
platforms/ios/NotificationExample.xcodeproj/project.pbxproj
+62
-62
NotificationExample.xccheckout
...t.xcworkspace/xcshareddata/NotificationExample.xccheckout
+1
-1
UserInterfaceState.xcuserstate
...data/sebastian.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
AppDelegate.h
platforms/ios/NotificationExample/Classes/AppDelegate.h
+2
-0
AppDelegate.m
platforms/ios/NotificationExample/Classes/AppDelegate.m
+16
-0
NotificationExample-Info.plist
...ms/ios/NotificationExample/NotificationExample-Info.plist
+1
-1
APPLocalNotification.m
....cordova.plugin.local-notification/APPLocalNotification.m
+1
-1
AppDelegate+APPLocalNotification.h
...gin.local-notification/AppDelegate+APPLocalNotification.h
+0
-38
AppDelegate+APPLocalNotification.m
...gin.local-notification/AppDelegate+APPLocalNotification.m
+0
-49
UIApplication+APPLocalNotification.m
...n.local-notification/UIApplication+APPLocalNotification.m
+4
-1
config.xml
platforms/ios/NotificationExample/config.xml
+4
-4
cordova_plugins.js
platforms/ios/www/cordova_plugins.js
+12
-12
CordovaApp.Phone.jsproj.user
platforms/windows/CordovaApp.Phone.jsproj.user
+2
-0
CordovaApp.v12.suo
platforms/windows/CordovaApp.v12.suo
+0
-0
AppxManifest.xml
platforms/windows/build/phone/Debug/AnyCPU/AppxManifest.xml
+1
-1
package.phone.appxmanifest
platforms/windows/package.phone.appxmanifest
+1
-1
cordova_plugins.js
platforms/windows/www/cordova_plugins.js
+12
-12
LocalNotificationCore.js
...n.local-notification/src/windows/LocalNotificationCore.js
+40
-28
LocalNotificationUtil.js
...n.local-notification/src/windows/LocalNotificationUtil.js
+127
-82
plugin.xml
.../de.appplant.cordova.plugin.local-notification/plugin.xml
+10
-5
didRegisterUserNotificationSettings.js
...cation/scripts/ios/didRegisterUserNotificationSettings.js
+119
-0
APPLocalNotification.m
....plugin.local-notification/src/ios/APPLocalNotification.m
+1
-1
AppDelegate+APPLocalNotification.h
...l-notification/src/ios/AppDelegate+APPLocalNotification.h
+0
-38
AppDelegate+APPLocalNotification.m
...l-notification/src/ios/AppDelegate+APPLocalNotification.m
+0
-49
UIApplication+APPLocalNotification.m
...notification/src/ios/UIApplication+APPLocalNotification.m
+4
-1
LocalNotificationCore.js
...n.local-notification/src/windows/LocalNotificationCore.js
+55
-24
LocalNotificationUtil.js
...n.local-notification/src/windows/LocalNotificationUtil.js
+103
-40
ios.json
plugins/ios.json
+9
-8
windows.json
plugins/windows.json
+2
-2
No files found.
platforms/ios/NotificationExample.xcodeproj/project.pbxproj
View file @
13af9eab
...
...
@@ -9,7 +9,6 @@
1D3623260D0F684500981E51
/* AppDelegate.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
1D3623250D0F684500981E51
/* AppDelegate.m */
;
};
1D60589B0D05DD56006BFB54
/* main.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
29B97316FDCFA39411CA2CEA
/* main.m */
;
};
288765FD0DF74451002DB57D
/* CoreGraphics.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
288765FC0DF74451002DB57D
/* CoreGraphics.framework */
;
};
2B870B58934F4834B8C16CE0
/* Toast+UIView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
B2F14053AF194729A43D67A0
/* Toast+UIView.m */
;
};
301BF552109A68D80062928A
/* libCordova.a in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
301BF535109A57CC0062928A
/* libCordova.a */
;
};
302D95F114D2391D003F00A1
/* MainViewController.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
302D95EF14D2391D003F00A1
/* MainViewController.m */
;
};
302D95F214D2391D003F00A1
/* MainViewController.xib in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
302D95F014D2391D003F00A1
/* MainViewController.xib */
;
};
...
...
@@ -28,9 +27,7 @@
30B4F30219D5E07200D9F7D8
/* Default-Landscape-736h.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
30B4F2FF19D5E07200D9F7D8
/* Default-Landscape-736h.png */
;
};
30C1856619D5FC0A00212699
/* icon-60@3x.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
30C1856519D5FC0A00212699
/* icon-60@3x.png */
;
};
30FC414916E50CA1004E6F35
/* icon-72@2x.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
30FC414816E50CA1004E6F35
/* icon-72@2x.png */
;
};
47E2A1EADBFB4652A12C2935
/* QuartzCore.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
7520DF444936462C8A4538DF
/* QuartzCore.framework */
;
};
5B1594DD16A7569C00FEF299
/* AssetsLibrary.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
5B1594DC16A7569C00FEF299
/* AssetsLibrary.framework */
;
};
67D68D300B774406836C6937
/* Toast.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
35DBAE1D796C4C1097BA3F34
/* Toast.m */
;
};
7E7966DE1810823500FA85AD
/* icon-40.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
7E7966D41810823500FA85AD
/* icon-40.png */
;
};
7E7966DF1810823500FA85AD
/* icon-40@2x.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
7E7966D51810823500FA85AD
/* icon-40@2x.png */
;
};
7E7966E01810823500FA85AD
/* icon-50.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
7E7966D61810823500FA85AD
/* icon-50.png */
;
};
...
...
@@ -42,11 +39,14 @@
7E7966E61810823500FA85AD
/* icon-small.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
7E7966DC1810823500FA85AD
/* icon-small.png */
;
};
7E7966E71810823500FA85AD
/* icon-small@2x.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
7E7966DD1810823500FA85AD
/* icon-small@2x.png */
;
};
D4A0D8761607E02300AEF8BB
/* Default-568h@2x~iphone.png in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
D4A0D8751607E02300AEF8BB
/* Default-568h@2x~iphone.png */
;
};
0ABF00D3C28E4A4EA8DF3588
/* AppDelegate+APPLocalNotification.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
8D7B695EE90E43E186119CF3
/* AppDelegate+APPLocalNotification.m */
;
};
BABA242993AC4E4FBAEC1565
/* APPLocalNotification.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
9C303C0F69604DBCACF491D8
/* APPLocalNotification.m */
;
};
4CAF7116135543BF8E4CB2BC
/* APPLocalNotificationOptions.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
A4711F93A8C54855AC0D63F3
/* APPLocalNotificationOptions.m */
;
};
B3ED415B28C449B890F094AE
/* UIApplication+APPLocalNotification.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
234951ADB1D54463B29EA815
/* UIApplication+APPLocalNotification.m */
;
};
6EC674C75C144EF8815705C1
/* UILocalNotification+APPLocalNotification.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
3DE9C655C97A4FBDB8369939
/* UILocalNotification+APPLocalNotification.m */
;
};
3311FE6F740C4E61B4062834
/* CDVDevice.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
E44647A1A9E44070A483ABAE
/* CDVDevice.m */
;
};
B05FD4050A8049DD95D3B0A4
/* APPLocalNotification.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
FF94CC0869014D94864987A3
/* APPLocalNotification.m */
;
};
B3094EF611C545D69C6CAFB1
/* APPLocalNotificationOptions.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
2E94A154193F45808ED4A20E
/* APPLocalNotificationOptions.m */
;
};
26BE57B20E1949D089D5EF06
/* UIApplication+APPLocalNotification.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
38328F7FE48047AD90611624
/* UIApplication+APPLocalNotification.m */
;
};
BEF8E5A4C44E40049E9A638E
/* UILocalNotification+APPLocalNotification.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
643825E01BE6429D957BC5E9
/* UILocalNotification+APPLocalNotification.m */
;
};
9AF00F0BC0694C408D82918E
/* Toast+UIView.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
6C1FEB7986764F8D80C9460D
/* Toast+UIView.m */
;
};
345E79E8B29A4BC0911A1AD9
/* Toast.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
73FFCCD6DE0C4F41A5CD8A42
/* Toast.m */
;
};
3EC215006CC74A65BB090187
/* QuartzCore.framework in Frameworks */
=
{
isa
=
PBXBuildFile
;
fileRef
=
47EB2B35CA524D62A59BD0CD
/* QuartzCore.framework */
;
};
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
...
...
@@ -67,10 +67,11 @@
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
1C14DEE795484755B6723DFD
/* Toast.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
Toast.h
;
path
=
"nl.x-services.plugins.toast/Toast.h"
;
sourceTree
=
"<group>"
;
};
1D3623240D0F684500981E51
/* AppDelegate.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
AppDelegate.h
;
sourceTree
=
"<group>"
;
};
1D3623250D0F684500981E51
/* AppDelegate.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
AppDelegate.m
;
sourceTree
=
"<group>"
;
};
1D6058910D05DD3D006BFB54
/* NotificationExample.app */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
wrapper.application
;
includeInIndex
=
0
;
path
=
NotificationExample.app
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
1D6058910D05DD3D006BFB54
/* NotificationExample.app */
=
{
isa
=
PBXFileReference
;
explicitFileType
=
wrapper.application
;
includeInIndex
=
0
;
path
=
"NotificationExample.app"
;
sourceTree
=
BUILT_PRODUCTS_DIR
;
};
1F766FDD13BBADB100FB74C0
/* en */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.plist.strings
;
name
=
en
;
path
=
Localizable.strings
;
sourceTree
=
"<group>"
;
};
1F766FE013BBADB100FB74C0
/* es */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.plist.strings
;
name
=
es
;
path
=
Localizable.strings
;
sourceTree
=
"<group>"
;
};
288765FC0DF74451002DB57D
/* CoreGraphics.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
CoreGraphics.framework
;
path
=
System/Library/Frameworks/CoreGraphics.framework
;
sourceTree
=
SDKROOT
;
};
29B97316FDCFA39411CA2CEA
/* main.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
main.m
;
sourceTree
=
"<group>"
;
};
301BF52D109A57CC0062928A
/* CordovaLib.xcodeproj */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
"wrapper.pb-project"
;
name
=
CordovaLib.xcodeproj
;
path
=
CordovaLib/CordovaLib.xcodeproj
;
sourceTree
=
"<group>"
;
};
...
...
@@ -94,12 +95,7 @@
30C1856519D5FC0A00212699
/* icon-60@3x.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
"icon-60@3x.png"
;
sourceTree
=
"<group>"
;
};
30FC414816E50CA1004E6F35
/* icon-72@2x.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
"icon-72@2x.png"
;
sourceTree
=
"<group>"
;
};
32CA4F630368D1EE00C91783
/* NotificationExample-Prefix.pch */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
"NotificationExample-Prefix.pch"
;
sourceTree
=
"<group>"
;
};
35DBAE1D796C4C1097BA3F34
/* Toast.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
Toast.m
;
path
=
"nl.x-services.plugins.toast/Toast.m"
;
sourceTree
=
"<group>"
;
};
4C08CF6F59714918A3E2582D
/* CDVDevice.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
CDVDevice.m
;
path
=
org.apache.cordova.device/CDVDevice.m
;
sourceTree
=
"<group>"
;
};
5440C6C204204645B5A21732
/* CDVDevice.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
CDVDevice.h
;
path
=
org.apache.cordova.device/CDVDevice.h
;
sourceTree
=
"<group>"
;
};
5B1594DC16A7569C00FEF299
/* AssetsLibrary.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
AssetsLibrary.framework
;
path
=
System/Library/Frameworks/AssetsLibrary.framework
;
sourceTree
=
SDKROOT
;
};
6372C9BBDB554D6DB471C786
/* Toast+UIView.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"Toast+UIView.h"
;
path
=
"nl.x-services.plugins.toast/Toast+UIView.h"
;
sourceTree
=
"<group>"
;
};
7520DF444936462C8A4538DF
/* QuartzCore.framework */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
wrapper.framework
;
name
=
QuartzCore.framework
;
path
=
System/Library/Frameworks/QuartzCore.framework
;
sourceTree
=
SDKROOT
;
};
7E7966D41810823500FA85AD
/* icon-40.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
"icon-40.png"
;
sourceTree
=
"<group>"
;
};
7E7966D51810823500FA85AD
/* icon-40@2x.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
"icon-40@2x.png"
;
sourceTree
=
"<group>"
;
};
7E7966D61810823500FA85AD
/* icon-50.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
"icon-50.png"
;
sourceTree
=
"<group>"
;
};
...
...
@@ -111,21 +107,26 @@
7E7966DC1810823500FA85AD
/* icon-small.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
"icon-small.png"
;
sourceTree
=
"<group>"
;
};
7E7966DD1810823500FA85AD
/* icon-small@2x.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
"icon-small@2x.png"
;
sourceTree
=
"<group>"
;
};
8D1107310486CEB800E47090
/* NotificationExample-Info.plist */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
text.plist.xml
;
name
=
"NotificationExample-Info.plist"
;
path
=
"../NotificationExample-Info.plist"
;
plistStructureDefinitionIdentifier
=
"com.apple.xcode.plist.structure-definition.iphone.info-plist"
;
sourceTree
=
"<group>"
;
};
B2F14053AF194729A43D67A0
/* Toast+UIView.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"Toast+UIView.m"
;
path
=
"nl.x-services.plugins.toast/Toast+UIView.m"
;
sourceTree
=
"<group>"
;
};
D4A0D8751607E02300AEF8BB
/* Default-568h@2x~iphone.png */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
image.png
;
path
=
"Default-568h@2x~iphone.png"
;
sourceTree
=
"<group>"
;
};
EB87FDF21871DA7A0020F90C
/* merges */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
folder
;
name
=
merges
;
path
=
../../merges
;
sourceTree
=
"<group>"
;
};
EB87FDF31871DA8E0020F90C
/* www */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
folder
;
name
=
www
;
path
=
../../www
;
sourceTree
=
"<group>"
;
};
EB87FDF41871DAF40020F90C
/* config.xml */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.xml
;
name
=
config.xml
;
path
=
../../config.xml
;
sourceTree
=
"<group>"
;
};
F840E1F0165FE0F500CFE078
/* config.xml */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.xml
;
name
=
config.xml
;
path
=
NotificationExample/config.xml
;
sourceTree
=
"<group>"
;
};
8D7B695EE90E43E186119CF3
/* AppDelegate+APPLocalNotification.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"AppDelegate+APPLocalNotification.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/AppDelegate+APPLocalNotification.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
9C303C0F69604DBCACF491D8
/* APPLocalNotification.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"APPLocalNotification.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/APPLocalNotification.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
A4711F93A8C54855AC0D63F3
/* APPLocalNotificationOptions.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"APPLocalNotificationOptions.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/APPLocalNotificationOptions.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
234951ADB1D54463B29EA815
/* UIApplication+APPLocalNotification.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"UIApplication+APPLocalNotification.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
3DE9C655C97A4FBDB8369939
/* UILocalNotification+APPLocalNotification.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"UILocalNotification+APPLocalNotification.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/UILocalNotification+APPLocalNotification.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
E3F2E04ADBF64CC49A6A0992
/* AppDelegate+APPLocalNotification.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"AppDelegate+APPLocalNotification.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/AppDelegate+APPLocalNotification.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
7760C0602B9B42138D540B3C
/* APPLocalNotification.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"APPLocalNotification.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/APPLocalNotification.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
05AFA6F81A664202ADA70FE6
/* APPLocalNotificationOptions.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"APPLocalNotificationOptions.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/APPLocalNotificationOptions.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
1BC567AC490341299730BDD3
/* UIApplication+APPLocalNotification.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"UIApplication+APPLocalNotification.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
CDD77E3BE67E48388435D620
/* UILocalNotification+APPLocalNotification.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"UILocalNotification+APPLocalNotification.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/UILocalNotification+APPLocalNotification.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
F840E1F0165FE0F500CFE078
/* config.xml */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
text.xml
;
name
=
config.xml
;
path
=
"NotificationExample/config.xml"
;
sourceTree
=
"<group>"
;
};
E44647A1A9E44070A483ABAE
/* CDVDevice.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"CDVDevice.m"
;
path
=
"org.apache.cordova.device/CDVDevice.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
3471FA8FC7F847CCABBCB926
/* CDVDevice.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"CDVDevice.h"
;
path
=
"org.apache.cordova.device/CDVDevice.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
FF94CC0869014D94864987A3
/* APPLocalNotification.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"APPLocalNotification.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/APPLocalNotification.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
2E94A154193F45808ED4A20E
/* APPLocalNotificationOptions.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"APPLocalNotificationOptions.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/APPLocalNotificationOptions.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
38328F7FE48047AD90611624
/* UIApplication+APPLocalNotification.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"UIApplication+APPLocalNotification.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
643825E01BE6429D957BC5E9
/* UILocalNotification+APPLocalNotification.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"UILocalNotification+APPLocalNotification.m"
;
path
=
"de.appplant.cordova.plugin.local-notification/UILocalNotification+APPLocalNotification.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
425ABDA4390E47109EAF6ED9
/* APPLocalNotification.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"APPLocalNotification.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/APPLocalNotification.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
D5BB49CB35A6417FBB330C45
/* APPLocalNotificationOptions.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"APPLocalNotificationOptions.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/APPLocalNotificationOptions.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
EA448103D2324A9FB165BB1D
/* UIApplication+APPLocalNotification.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"UIApplication+APPLocalNotification.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
B0D77DF8D3E94A2D97710847
/* UILocalNotification+APPLocalNotification.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"UILocalNotification+APPLocalNotification.h"
;
path
=
"de.appplant.cordova.plugin.local-notification/UILocalNotification+APPLocalNotification.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
6C1FEB7986764F8D80C9460D
/* Toast+UIView.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"Toast+UIView.m"
;
path
=
"nl.x-services.plugins.toast/Toast+UIView.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
73FFCCD6DE0C4F41A5CD8A42
/* Toast.m */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.objc
;
name
=
"Toast.m"
;
path
=
"nl.x-services.plugins.toast/Toast.m"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
49974152A0EA4CEE8C46D9A5
/* Toast+UIView.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"Toast+UIView.h"
;
path
=
"nl.x-services.plugins.toast/Toast+UIView.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
422DA32284B54A2FA7DF8E04
/* Toast.h */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
sourcecode.c.h
;
name
=
"Toast.h"
;
path
=
"nl.x-services.plugins.toast/Toast.h"
;
sourceTree
=
"<group>"
;
fileEncoding
=
4
;
};
47EB2B35CA524D62A59BD0CD
/* QuartzCore.framework */
=
{
isa
=
PBXFileReference
;
lastKnownFileType
=
wrapper.framework
;
name
=
"QuartzCore.framework"
;
path
=
"System/Library/Frameworks/QuartzCore.framework"
;
sourceTree
=
SDKROOT
;
fileEncoding
=
4
;
};
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
...
...
@@ -137,7 +138,7 @@
301BF552109A68D80062928A
/* libCordova.a in Frameworks */
,
288765FD0DF74451002DB57D
/* CoreGraphics.framework in Frameworks */
,
305D5FD1115AB8F900A74A75
/* MobileCoreServices.framework in Frameworks */
,
47E2A1EADBFB4652A12C2935
/* QuartzCore.framework in Frameworks */
,
3EC215006CC74A65BB090187
/* QuartzCore.framework in Frameworks */
,
);
runOnlyForDeploymentPostprocessing
=
0
;
};
...
...
@@ -154,7 +155,7 @@
1D3623250D0F684500981E51
/* AppDelegate.m */
,
);
name
=
Classes
;
path
=
NotificationExample/Classes
;
path
=
"NotificationExample/Classes"
;
sourceTree
=
SOURCE_ROOT
;
};
19C28FACFE9D520D11CA2CBB
/* Products */
=
{
...
...
@@ -170,6 +171,7 @@
children
=
(
EB87FDF41871DAF40020F90C
/* config.xml */
,
EB87FDF31871DA8E0020F90C
/* www */
,
EB87FDF21871DA7A0020F90C
/* merges */
,
EB87FDF11871DA420020F90C
/* Staging */
,
301BF52D109A57CC0062928A
/* CordovaLib.xcodeproj */
,
080E96DDFE201D6D7F000001
/* Classes */
,
...
...
@@ -189,7 +191,7 @@
29B97316FDCFA39411CA2CEA
/* main.m */
,
);
name
=
"Other Sources"
;
path
=
NotificationExample
;
path
=
"NotificationExample"
;
sourceTree
=
"<group>"
;
};
29B97317FDCFA39411CA2CEA
/* Resources */
=
{
...
...
@@ -200,7 +202,7 @@
8D1107310486CEB800E47090
/* NotificationExample-Info.plist */
,
);
name
=
Resources
;
path
=
NotificationExample/Resources
;
path
=
"NotificationExample/Resources"
;
sourceTree
=
"<group>"
;
};
29B97323FDCFA39411CA2CEA
/* Frameworks */
=
{
...
...
@@ -209,7 +211,7 @@
5B1594DC16A7569C00FEF299
/* AssetsLibrary.framework */
,
288765FC0DF74451002DB57D
/* CoreGraphics.framework */
,
305D5FD0115AB8F900A74A75
/* MobileCoreServices.framework */
,
7520DF444936462C8A4538DF
/* QuartzCore.framework */
,
47EB2B35CA524D62A59BD0CD
/* QuartzCore.framework */
,
);
name
=
Frameworks
;
sourceTree
=
"<group>"
;
...
...
@@ -225,25 +227,23 @@
307C750510C5A3420062BCA9
/* Plugins */
=
{
isa
=
PBXGroup
;
children
=
(
4C08CF6F59714918A3E2582D
/* CDVDevice.m */
,
5440C6C204204645B5A21732
/* CDVDevice.h */
,
B2F14053AF194729A43D67A0
/* Toast+UIView.m */
,
35DBAE1D796C4C1097BA3F34
/* Toast.m */
,
6372C9BBDB554D6DB471C786
/* Toast+UIView.h */
,
1C14DEE795484755B6723DFD
/* Toast.h */
,
8D7B695EE90E43E186119CF3
/* AppDelegate+APPLocalNotification.m */
,
9C303C0F69604DBCACF491D8
/* APPLocalNotification.m */
,
A4711F93A8C54855AC0D63F3
/* APPLocalNotificationOptions.m */
,
234951ADB1D54463B29EA815
/* UIApplication+APPLocalNotification.m */
,
3DE9C655C97A4FBDB8369939
/* UILocalNotification+APPLocalNotification.m */
,
E3F2E04ADBF64CC49A6A0992
/* AppDelegate+APPLocalNotification.h */
,
7760C0602B9B42138D540B3C
/* APPLocalNotification.h */
,
05AFA6F81A664202ADA70FE6
/* APPLocalNotificationOptions.h */
,
1BC567AC490341299730BDD3
/* UIApplication+APPLocalNotification.h */
,
CDD77E3BE67E48388435D620
/* UILocalNotification+APPLocalNotification.h */
,
E44647A1A9E44070A483ABAE
/* CDVDevice.m */
,
3471FA8FC7F847CCABBCB926
/* CDVDevice.h */
,
FF94CC0869014D94864987A3
/* APPLocalNotification.m */
,
2E94A154193F45808ED4A20E
/* APPLocalNotificationOptions.m */
,
38328F7FE48047AD90611624
/* UIApplication+APPLocalNotification.m */
,
643825E01BE6429D957BC5E9
/* UILocalNotification+APPLocalNotification.m */
,
425ABDA4390E47109EAF6ED9
/* APPLocalNotification.h */
,
D5BB49CB35A6417FBB330C45
/* APPLocalNotificationOptions.h */
,
EA448103D2324A9FB165BB1D
/* UIApplication+APPLocalNotification.h */
,
B0D77DF8D3E94A2D97710847
/* UILocalNotification+APPLocalNotification.h */
,
6C1FEB7986764F8D80C9460D
/* Toast+UIView.m */
,
73FFCCD6DE0C4F41A5CD8A42
/* Toast.m */
,
49974152A0EA4CEE8C46D9A5
/* Toast+UIView.h */
,
422DA32284B54A2FA7DF8E04
/* Toast.h */
,
);
name
=
Plugins
;
path
=
NotificationExample/Plugins
;
path
=
"NotificationExample/Plugins"
;
sourceTree
=
SOURCE_ROOT
;
};
308D052D1370CCF300D202BF
/* icons */
=
{
...
...
@@ -311,8 +311,8 @@
dependencies
=
(
301BF551109A68C00062928A
/* PBXTargetDependency */
,
);
name
=
NotificationExample
;
productName
=
NotificationExample
;
name
=
"NotificationExample"
;
productName
=
"NotificationExample"
;
productReference
=
1D6058910D05DD3D006BFB54
/* NotificationExample.app */
;
productType
=
"com.apple.product-type.application"
;
};
...
...
@@ -324,7 +324,7 @@
attributes
=
{
LastUpgradeCheck
=
510
;
};
buildConfigurationList
=
C01FCF4E08A954540054247B
/* Build configuration list for PBXProject "
NotificationExample
" */
;
buildConfigurationList
=
C01FCF4E08A954540054247B
/* Build configuration list for PBXProject "
__CLI__
" */
;
compatibilityVersion
=
"Xcode 3.2"
;
developmentRegion
=
English
;
hasScannedForEncodings
=
1
;
...
...
@@ -425,13 +425,13 @@
1D60589B0D05DD56006BFB54
/* main.m in Sources */
,
1D3623260D0F684500981E51
/* AppDelegate.m in Sources */
,
302D95F114D2391D003F00A1
/* MainViewController.m in Sources */
,
2B870B58934F4834B8C16CE0
/* Toast+UIView
.m in Sources */
,
67D68D300B774406836C6937
/* Toast
.m in Sources */
,
0ABF00D3C28E4A4EA8DF3588
/* AppDelegate+APPLocalNotification
.m in Sources */
,
BABA242993AC4E4FBAEC1565
/*
APPLocalNotification.m in Sources */
,
4CAF7116135543BF8E4CB2BC
/* APPLocalNotificationOptions
.m in Sources */
,
B3ED415B28C449B890F094AE
/* UIApplication+APPLocalNotification
.m in Sources */
,
6EC674C75C144EF8815705C1
/* UILocalNotification+APPLocalNotification
.m in Sources */
,
3311FE6F740C4E61B4062834
/* CDVDevice
.m in Sources */
,
B05FD4050A8049DD95D3B0A4
/* APPLocalNotification
.m in Sources */
,
B3094EF611C545D69C6CAFB1
/* APPLocalNotificationOptions
.m in Sources */
,
26BE57B20E1949D089D5EF06
/* UIApplication+
APPLocalNotification.m in Sources */
,
BEF8E5A4C44E40049E9A638E
/* UILocalNotification+APPLocalNotification
.m in Sources */
,
9AF00F0BC0694C408D82918E
/* Toast+UIView
.m in Sources */
,
345E79E8B29A4BC0911A1AD9
/* Toast
.m in Sources */
,
);
runOnlyForDeploymentPostprocessing
=
0
;
};
...
...
@@ -472,7 +472,7 @@
"-weak-lSystem"
,
"-ObjC"
,
);
PRODUCT_NAME
=
NotificationExample
;
PRODUCT_NAME
=
"NotificationExample"
;
TARGETED_DEVICE_FAMILY
=
"1,2"
;
};
name
=
Debug
;
...
...
@@ -501,7 +501,7 @@
"-weak-lSystem"
,
"-ObjC"
,
);
PRODUCT_NAME
=
NotificationExample
;
PRODUCT_NAME
=
"NotificationExample"
;
TARGETED_DEVICE_FAMILY
=
"1,2"
;
};
name
=
Release
;
...
...
@@ -605,7 +605,7 @@
defaultConfigurationIsVisible
=
0
;
defaultConfigurationName
=
Release
;
};
C01FCF4E08A954540054247B
/* Build configuration list for PBXProject "
NotificationExample
" */
=
{
C01FCF4E08A954540054247B
/* Build configuration list for PBXProject "
__CLI__
" */
=
{
isa
=
XCConfigurationList
;
buildConfigurations
=
(
C01FCF4F08A954540054247B
/* Debug */
,
...
...
platforms/ios/NotificationExample.xcodeproj/project.xcworkspace/xcshareddata/NotificationExample.xccheckout
View file @
13af9eab
...
...
@@ -5,7 +5,7 @@
<key>
IDESourceControlProjectFavoriteDictionaryKey
</key>
<false/>
<key>
IDESourceControlProjectIdentifier
</key>
<string>
A
FAFE068-92EA-475E-8783-6E5FC17A7188
</string>
<string>
A
63F5FF5-C059-403D-81B9-E740110FFC25
</string>
<key>
IDESourceControlProjectName
</key>
<string>
NotificationExample
</string>
<key>
IDESourceControlProjectOriginsDictionary
</key>
...
...
platforms/ios/NotificationExample.xcodeproj/project.xcworkspace/xcuserdata/sebastian.xcuserdatad/UserInterfaceState.xcuserstate
View file @
13af9eab
No preview for this file type
platforms/ios/NotificationExample/Classes/AppDelegate.h
View file @
13af9eab
...
...
@@ -29,6 +29,8 @@
#import <Cordova/CDVViewController.h>
extern
NSString
*
const
UIApplicationRegisterUserNotificationSettings
;
@interface
AppDelegate
:
NSObject
<
UIApplicationDelegate
>
{}
// invoke string is passed to your app on launch, this is only valid if you
...
...
platforms/ios/NotificationExample/Classes/AppDelegate.m
View file @
13af9eab
...
...
@@ -30,6 +30,8 @@
#import <Cordova/CDVPlugin.h>
NSString
*
const
UIApplicationRegisterUserNotificationSettings
=
@"UIApplicationRegisterUserNotificationSettings"
;
@implementation
AppDelegate
@synthesize
window
,
viewController
;
...
...
@@ -148,4 +150,18 @@
[[
NSURLCache
sharedURLCache
]
removeAllCachedResponses
];
}
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
-
(
void
)
application
:
(
UIApplication
*
)
application
didRegisterUserNotificationSettings
:
(
UIUserNotificationSettings
*
)
settings
{
NSNotificationCenter
*
center
=
[
NSNotificationCenter
defaultCenter
];
// re-post (broadcast)
[
center
postNotificationName
:
UIApplicationRegisterUserNotificationSettings
object
:
settings
];
}
#endif
@end
platforms/ios/NotificationExample/NotificationExample-Info.plist
View file @
13af9eab
...
...
@@ -49,7 +49,7 @@
<
/
d
i
c
t
>
<
/
d
i
c
t
>
<
k
e
y
>
CFBundleIdentifier
<
/k
e
y
>
<
string
>
de.appplant.
cordova.plugin.local-
notification.example
<
/string
>
<
string
>
de.appplant.
local
notification.example
<
/string
>
<
k
e
y
>
CFBundleInfoDictionaryVersion
<
/k
e
y
>
<
string
>
6.0
<
/string
>
<
k
e
y
>
CFBundleName
<
/k
e
y
>
...
...
platforms/ios/NotificationExample/Plugins/de.appplant.cordova.plugin.local-notification/APPLocalNotification.m
View file @
13af9eab
...
...
@@ -21,9 +21,9 @@
* @APPPLANT_LICENSE_HEADER_END@
*/
#import "AppDelegate.h"
#import "APPLocalNotification.h"
#import "APPLocalNotificationOptions.h"
#import "AppDelegate+APPLocalNotification.h"
#import "UIApplication+APPLocalNotification.h"
#import "UILocalNotification+APPLocalNotification.h"
...
...
platforms/ios/NotificationExample/Plugins/de.appplant.cordova.plugin.local-notification/AppDelegate+APPLocalNotification.h
deleted
100644 → 0
View file @
c4a5a7cb
/*
* Copyright (c) 2013-2015 by appPlant UG. All rights reserved.
*
* @APPPLANT_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apache License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://opensource.org/licenses/Apache-2.0/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPPLANT_LICENSE_HEADER_END@
*/
#import "AppDelegate.h"
#import <Availability.h>
extern
NSString
*
const
UIApplicationRegisterUserNotificationSettings
;
@interface
AppDelegate
(
APPLocalNotification
)
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
// Tells the delegate what types of notifications may be used
-
(
void
)
application
:(
UIApplication
*
)
application
didRegisterUserNotificationSettings
:(
UIUserNotificationSettings
*
)
settings
;
#endif
@end
platforms/ios/NotificationExample/Plugins/de.appplant.cordova.plugin.local-notification/AppDelegate+APPLocalNotification.m
deleted
100644 → 0
View file @
c4a5a7cb
/*
* Copyright (c) 2013-2015 by appPlant UG. All rights reserved.
*
* @APPPLANT_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apache License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://opensource.org/licenses/Apache-2.0/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPPLANT_LICENSE_HEADER_END@
*/
#import "AppDelegate+APPLocalNotification.h"
#import <Availability.h>
NSString
*
const
UIApplicationRegisterUserNotificationSettings
=
@"UIApplicationRegisterUserNotificationSettings"
;
@implementation
AppDelegate
(
APPLocalNotification
)
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
/**
* Tells the delegate what types of notifications may be used
* to get the user’s attention.
*/
-
(
void
)
application
:(
UIApplication
*
)
application
didRegisterUserNotificationSettings
:(
UIUserNotificationSettings
*
)
settings
{
NSNotificationCenter
*
center
=
[
NSNotificationCenter
defaultCenter
];
// re-post (broadcast)
[
center
postNotificationName
:
UIApplicationRegisterUserNotificationSettings
object
:
settings
];
}
#endif
@end
platforms/ios/NotificationExample/Plugins/de.appplant.cordova.plugin.local-notification/UIApplication+APPLocalNotification.m
View file @
13af9eab
...
...
@@ -62,7 +62,10 @@
UIUserNotificationType
types
;
UIUserNotificationSettings
*
settings
;
types
=
UIUserNotificationTypeAlert
|
UIUserNotificationTypeBadge
|
UIUserNotificationTypeSound
;
settings
=
[[
UIApplication
sharedApplication
]
currentUserNotificationSettings
];
types
=
settings
.
types
|
UIUserNotificationTypeAlert
|
UIUserNotificationTypeBadge
|
UIUserNotificationTypeSound
;
settings
=
[
UIUserNotificationSettings
settingsForTypes
:
types
categories
:
nil
];
...
...
platforms/ios/NotificationExample/config.xml
View file @
13af9eab
<?xml version='1.0' encoding='utf-8'?>
<widget
id=
"de.appplant.
cordova.plugin.local-
notification.example"
version=
"0.0.1"
xmlns=
"http://www.w3.org/ns/widgets"
xmlns:cdv=
"http://cordova.apache.org/ns/1.0"
>
<widget
id=
"de.appplant.
local
notification.example"
version=
"0.0.1"
xmlns=
"http://www.w3.org/ns/widgets"
xmlns:cdv=
"http://cordova.apache.org/ns/1.0"
>
<preference
name=
"AllowInlineMediaPlayback"
value=
"false"
/>
<preference
name=
"BackupWebStorage"
value=
"cloud"
/>
<preference
name=
"DisallowOverscroll"
value=
"false"
/>
...
...
@@ -23,9 +23,6 @@
</author>
<content
src=
"index.html"
/>
<access
origin=
"*"
/>
<feature
name=
"Toast"
>
<param
name=
"ios-package"
value=
"Toast"
/>
</feature>
<feature
name=
"Device"
>
<param
name=
"ios-package"
value=
"CDVDevice"
/>
</feature>
...
...
@@ -33,4 +30,7 @@
<param
name=
"ios-package"
onload=
"true"
value=
"APPLocalNotification"
/>
<param
name=
"onload"
value=
"true"
/>
</feature>
<feature
name=
"Toast"
>
<param
name=
"ios-package"
value=
"Toast"
/>
</feature>
</widget>
platforms/ios/www/cordova_plugins.js
View file @
13af9eab
cordova
.
define
(
'cordova/plugin_list'
,
function
(
require
,
exports
,
module
)
{
module
.
exports
=
[
{
"file"
:
"plugins/nl.x-services.plugins.toast/www/Toast.js"
,
"id"
:
"nl.x-services.plugins.toast.Toast"
,
"clobbers"
:
[
"window.plugins.toast"
]
},
{
"file"
:
"plugins/nl.x-services.plugins.toast/test/tests.js"
,
"id"
:
"nl.x-services.plugins.toast.tests"
},
{
"file"
:
"plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js"
,
"id"
:
"de.appplant.cordova.plugin.local-notification.LocalNotification"
,
"clobbers"
:
[
...
...
@@ -36,6 +25,17 @@ module.exports = [
]
},
{
"file"
:
"plugins/nl.x-services.plugins.toast/www/Toast.js"
,
"id"
:
"nl.x-services.plugins.toast.Toast"
,
"clobbers"
:
[
"window.plugins.toast"
]
},
{
"file"
:
"plugins/nl.x-services.plugins.toast/test/tests.js"
,
"id"
:
"nl.x-services.plugins.toast.tests"
},
{
"file"
:
"plugins/org.apache.cordova.device/www/device.js"
,
"id"
:
"org.apache.cordova.device.device"
,
"clobbers"
:
[
...
...
@@ -46,8 +46,8 @@ module.exports = [
module
.
exports
.
metadata
=
// TOP OF METADATA
{
"nl.x-services.plugins.toast"
:
"2.0.3"
,
"de.appplant.cordova.plugin.local-notification"
:
"0.8.2dev"
,
"nl.x-services.plugins.toast"
:
"2.0.3"
,
"org.apache.cordova.device"
:
"0.3.0"
}
// BOTTOM OF METADATA
...
...
platforms/windows/CordovaApp.Phone.jsproj.user
View file @
13af9eab
...
...
@@ -2,5 +2,6 @@
<Project ToolsVersion="12.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ReferenceCachePath>C:\Users\sebastian\AppData\Local\Temp\yxmokjnx_CordovaApp.Phone_refcache</ReferenceCachePath>
<AutoRefresh>true</AutoRefresh>
</PropertyGroup>
</Project>
\ No newline at end of file
platforms/windows/CordovaApp.v12.suo
View file @
13af9eab
No preview for this file type
platforms/windows/build/phone/Debug/AnyCPU/AppxManifest.xml
View file @
13af9eab
...
...
@@ -41,7 +41,7 @@
</Resources>
<Applications>
<Application
Id=
"de.appplant.localnotification.example"
StartPage=
"www/index.html"
>
<m3:VisualElements
DisplayName=
"NotificationExample"
Square150x150Logo=
"images\Square150x150Logo.png"
Square44x44Logo=
"images\Square44x44Logo.png"
Description=
"CordovaApp"
ForegroundText=
"light"
BackgroundColor=
"transparent"
ToastCapable=
"true
"
>
<m3:VisualElements
ToastCapable=
"true"
DisplayName=
"NotificationExample"
Square150x150Logo=
"images\Square150x150Logo.png"
Square44x44Logo=
"images\Square44x44Logo.png"
Description=
"CordovaApp"
ForegroundText=
"light"
BackgroundColor=
"transparent
"
>
<m3:DefaultTile
Wide310x150Logo=
"images\Wide310x150Logo.png"
Square71x71Logo=
"images\Square71x71Logo.png"
>
<m3:ShowNameOnTiles>
<m3:ShowOn
Tile=
"square150x150Logo"
/>
...
...
platforms/windows/package.phone.appxmanifest
View file @
13af9eab
...
...
@@ -34,7 +34,7 @@
</Resources>
<Applications>
<Application Id="de.appplant.localnotification.example" StartPage="www/index.html">
<m3:VisualElements
DisplayName="NotificationExample" Square150x150Logo="images\Square150x150Logo.png" Square44x44Logo="images\Square44x44Logo.png" Description="CordovaApp" ForegroundText="light" BackgroundColor="transparent" ToastCapable="true
">
<m3:VisualElements
ToastCapable="true" DisplayName="NotificationExample" Square150x150Logo="images\Square150x150Logo.png" Square44x44Logo="images\Square44x44Logo.png" Description="CordovaApp" ForegroundText="light" BackgroundColor="transparent
">
<m3:DefaultTile Wide310x150Logo="images\Wide310x150Logo.png" Square71x71Logo="images\Square71x71Logo.png">
<m3:ShowNameOnTiles>
<m3:ShowOn Tile="square150x150Logo" />
...
...
platforms/windows/www/cordova_plugins.js
View file @
13af9eab
cordova
.
define
(
'cordova/plugin_list'
,
function
(
require
,
exports
,
module
)
{
module
.
exports
=
[
{
"file"
:
"plugins/nl.x-services.plugins.toast/www/Toast.js"
,
"id"
:
"nl.x-services.plugins.toast.Toast"
,
"clobbers"
:
[
"window.plugins.toast"
]
},
{
"file"
:
"plugins/nl.x-services.plugins.toast/test/tests.js"
,
"id"
:
"nl.x-services.plugins.toast.tests"
},
{
"file"
:
"plugins/de.appplant.cordova.plugin.local-notification/www/local-notification.js"
,
"id"
:
"de.appplant.cordova.plugin.local-notification.LocalNotification"
,
"clobbers"
:
[
...
...
@@ -46,17 +57,6 @@ module.exports = [
]
},
{
"file"
:
"plugins/nl.x-services.plugins.toast/www/Toast.js"
,
"id"
:
"nl.x-services.plugins.toast.Toast"
,
"clobbers"
:
[
"window.plugins.toast"
]
},
{
"file"
:
"plugins/nl.x-services.plugins.toast/test/tests.js"
,
"id"
:
"nl.x-services.plugins.toast.tests"
},
{
"file"
:
"plugins/org.apache.cordova.device/www/device.js"
,
"id"
:
"org.apache.cordova.device.device"
,
"clobbers"
:
[
...
...
@@ -74,8 +74,8 @@ module.exports = [
module
.
exports
.
metadata
=
// TOP OF METADATA
{
"de.appplant.cordova.plugin.local-notification"
:
"0.8.2dev"
,
"nl.x-services.plugins.toast"
:
"2.0.3"
,
"de.appplant.cordova.plugin.local-notification"
:
"0.8.2dev"
,
"org.apache.cordova.device"
:
"0.3.0"
}
// BOTTOM OF METADATA
...
...
platforms/windows/www/plugins/de.appplant.cordova.plugin.local-notification/src/windows/LocalNotificationCore.js
View file @
13af9eab
...
...
@@ -32,14 +32,12 @@ exports.core = {
*/
deviceready
:
function
()
{
var
plugin
=
cordova
.
plugins
.
notification
.
local
,
args
;
events
=
this
.
eventQueue
;
this
.
isReady
=
true
;
for
(
var
i
=
0
;
i
<
this
.
eventQueue
.
length
;
i
++
)
{
args
=
this
.
eventQueue
[
i
];
plugin
.
fireEvent
.
apply
(
plugin
,
args
);
for
(
var
i
=
0
;
i
<
events
.
length
;
i
++
)
{
plugin
.
fireEvent
.
apply
(
plugin
,
events
[
i
]);
}
this
.
eventQueue
=
[];
...
...
@@ -64,10 +62,8 @@ exports.core = {
notification
=
this
.
build
(
options
);
this
.
cancelLocalNotification
(
options
.
id
);
this
.
scheduleLocalNotification
(
notification
,
options
);
this
.
scheduleBackupNotification
(
notification
,
options
);
this
.
fireEvent
(
'schedule'
,
options
);
this
.
callOnTrigger
(
options
,
triggerFn
);
}
...
...
@@ -147,18 +143,6 @@ exports.core = {
},
/**
* Updates a single local notification.
*
* @param {Object} notification
* The local notification
* @param {Object} updates
* Updated properties
*/
updateLocalNotification
:
function
(
notification
,
updates
)
{
},
/**
* Updates existing notifications specified by IDs in options.
*
* @param {Object[]} notifications
...
...
@@ -175,6 +159,23 @@ exports.core = {
},
/**
* Updates a single local notification.
*
* @param {Object} notification
* The local notification
* @param {Object} updates
* Updated properties
*/
updateLocalNotification
:
function
(
notification
,
updates
)
{
for
(
var
key
in
updates
)
{
notification
[
key
]
=
updates
[
key
];
}
this
.
cancelLocalNotification
(
notification
.
id
);
this
.
scheduleLocalNotification
(
notification
);
},
/**
* Clears the specified notifications.
*
* @param {int[]} ids
...
...
@@ -182,9 +183,10 @@ exports.core = {
*/
clear
:
function
(
ids
)
{
for
(
var
i
=
0
;
i
<
ids
.
length
;
i
++
)
{
var
notification
=
this
.
getAll
([
id
])[
0
];
var
id
=
ids
[
i
],
notification
=
this
.
getAll
([
id
])[
0
];
this
.
clearLocalNotification
(
id
s
[
i
]
);
this
.
clearLocalNotification
(
id
);
this
.
fireEvent
(
'clear'
,
notification
);
}
},
...
...
@@ -196,8 +198,13 @@ exports.core = {
* Local notification ID
*/
clearLocalNotification
:
function
(
id
)
{
var
notification
=
this
.
getAll
([
id
])[
0
];
this
.
getToastHistory
().
remove
(
'Toast'
+
id
);
if
(
this
.
isRepeating
(
notification
))
return
;
if
(
this
.
isTriggered
(
id
)
&&
!
this
.
isScheduled
(
id
))
{
this
.
cancelLocalNotification
(
id
);
}
...
...
@@ -225,7 +232,8 @@ exports.core = {
*/
cancel
:
function
(
ids
)
{
for
(
var
i
=
0
;
i
<
ids
.
length
;
i
++
)
{
var
notification
=
this
.
getAll
([
id
])[
0
];
var
id
=
ids
[
i
],
notification
=
this
.
getAll
([
id
])[
0
];
this
.
cancelLocalNotification
(
ids
[
i
]);
this
.
fireEvent
(
'cancel'
,
notification
);
...
...
@@ -275,7 +283,7 @@ exports.core = {
* Local notification ID
*/
isPresent
:
function
(
id
)
{
return
this
.
getAllIds
().
indexOf
(
id
)
>
-
1
;
return
!!
this
.
findToastById
(
id
)
;
},
/**
...
...
@@ -285,7 +293,9 @@ exports.core = {
* Local notification ID
*/
isScheduled
:
function
(
id
)
{
return
this
.
getScheduledIds
().
indexOf
(
id
)
>
-
1
;
var
toast
=
this
.
findToastById
(
id
);
return
toast
&&
this
.
isToastScheduled
(
toast
);
},
/**
...
...
@@ -295,7 +305,9 @@ exports.core = {
* Local notification ID
*/
isTriggered
:
function
(
id
)
{
return
this
.
getTriggeredIds
().
indexOf
(
id
)
>
-
1
;
var
toast
=
this
.
findToastById
(
id
);
return
toast
&&
this
.
isToastTriggered
(
toast
);
},
/**
...
...
@@ -365,7 +377,7 @@ exports.core = {
var
toasts
=
this
.
getScheduledToasts
(),
notifications
=
[];
if
(
ids
.
length
===
0
)
{
if
(
!
ids
||
ids
.
length
===
0
)
{
ids
=
this
.
getAllIds
();
}
...
...
@@ -392,7 +404,7 @@ exports.core = {
* List of local notification IDs
*/
getScheduled
:
function
(
ids
)
{
if
(
ids
.
length
===
0
)
{
if
(
!
ids
||
ids
.
length
===
0
)
{
ids
=
this
.
getAllIds
();
}
...
...
@@ -407,7 +419,7 @@ exports.core = {
* List of local notification IDs
*/
getTriggered
:
function
(
ids
)
{
if
(
ids
.
length
===
0
)
{
if
(
!
ids
||
ids
.
length
===
0
)
{
ids
=
this
.
getAllIds
();
}
...
...
platforms/windows/www/plugins/de.appplant.cordova.plugin.local-notification/src/windows/LocalNotificationUtil.js
View file @
13af9eab
...
...
@@ -19,6 +19,9 @@ cordova.define("de.appplant.cordova.plugin.local-notification.LocalNotification.
under the License.
*/
var
channel
=
require
(
'cordova/channel'
);
exports
=
require
(
'de.appplant.cordova.plugin.local-notification.LocalNotification.Proxy.Core'
).
core
;
...
...
@@ -66,6 +69,18 @@ exports.getRepeatInterval = function (every) {
};
/**
* If the notification is repeating.
*
* @param {Object} notification
* Local notification object
*
* @return Boolean
*/
exports
.
isRepeating
=
function
(
notification
)
{
return
this
.
getRepeatInterval
(
notification
.
every
)
!==
0
;
};
/**
* Parses sound file path.
*
* @param {String} path
...
...
@@ -87,76 +102,76 @@ exports.parseSound = function (path) {
return
audio
;
};
/**
* Builds the xml payload for a local notification based on its options.
*
* @param {Object} options
* Local notification properties
*
* @return Windows.Data.Xml.Dom.XmlDocument
*/
exports
.
build
=
function
(
options
)
{
var
template
=
this
.
buildToastTemplate
(
options
),
notification
=
new
Windows
.
Data
.
Xml
.
Dom
.
XmlDocument
();
try
{
notification
.
loadXml
(
template
);
}
catch
(
e
)
{
console
.
error
(
'LocalNotification#schedule'
,
'Error loading the xml, check for invalid characters.'
);
}
// Launch Attribute to enable onClick event
var
launchAttr
=
notification
.
createAttribute
(
'launch'
),
toastNode
=
notification
.
selectSingleNode
(
'/toast'
);
launchAttr
.
value
=
options
.
id
.
toString
();
toastNode
.
attributes
.
setNamedItem
(
launchAttr
);
return
notification
;
};
/**
* Builds the toast template with the right style depend on the options.
*
* @param {Object} options
* Local notification properties
*
* @return String
*/
exports
.
buildToastTemplate
=
function
(
options
)
{
var
title
=
options
.
title
,
message
=
options
.
text
||
''
,
json
=
JSON
.
stringify
(
options
),
sound
=
''
;
if
(
options
.
sound
&&
options
.
sound
!==
''
)
{
sound
=
this
.
parseSound
(
options
.
sound
);
}
if
(
title
&&
title
!==
''
)
{
return
"<toast>"
+
"<visual>"
+
"<binding template='ToastText02'>"
+
"<text id='1'>"
+
title
+
"</text>"
+
"<text id='2'>"
+
message
+
"</text>"
+
"</binding>"
+
"</visual>"
+
sound
+
"<json>"
+
json
+
"</json>"
+
"</toast>"
;
}
else
{
return
"<toast>"
+
"<visual>"
+
"<binding template='ToastText01'>"
+
"<text id='1'>"
+
message
+
"</text>"
+
"</binding>"
+
"</visual>"
+
sound
+
"<json>"
+
json
+
"</json>"
+
"</toast>"
;
}
/**
* Builds the xml payload for a local notification based on its options.
*
* @param {Object} options
* Local notification properties
*
* @return Windows.Data.Xml.Dom.XmlDocument
*/
exports
.
build
=
function
(
options
)
{
var
template
=
this
.
buildToastTemplate
(
options
),
notification
=
new
Windows
.
Data
.
Xml
.
Dom
.
XmlDocument
();
try
{
notification
.
loadXml
(
template
);
}
catch
(
e
)
{
console
.
error
(
'LocalNotification#schedule'
,
'Error loading the xml, check for invalid characters.'
);
}
// Launch Attribute to enable onClick event
var
launchAttr
=
notification
.
createAttribute
(
'launch'
),
toastNode
=
notification
.
selectSingleNode
(
'/toast'
);
launchAttr
.
value
=
options
.
id
.
toString
();
toastNode
.
attributes
.
setNamedItem
(
launchAttr
);
return
notification
;
};
/**
* Builds the toast template with the right style depend on the options.
*
* @param {Object} options
* Local notification properties
*
* @return String
*/
exports
.
buildToastTemplate
=
function
(
options
)
{
var
title
=
options
.
title
,
message
=
options
.
text
||
''
,
json
=
JSON
.
stringify
(
options
),
sound
=
''
;
if
(
options
.
sound
&&
options
.
sound
!==
''
)
{
sound
=
this
.
parseSound
(
options
.
sound
);
}
if
(
title
&&
title
!==
''
)
{
return
"<toast>"
+
"<visual>"
+
"<binding template='ToastText02'>"
+
"<text id='1'>"
+
title
+
"</text>"
+
"<text id='2'>"
+
message
+
"</text>"
+
"</binding>"
+
"</visual>"
+
sound
+
"<json>"
+
json
+
"</json>"
+
"</toast>"
;
}
else
{
return
"<toast>"
+
"<visual>"
+
"<binding template='ToastText01'>"
+
"<text id='1'>"
+
message
+
"</text>"
+
"</binding>"
+
"</visual>"
+
sound
+
"<json>"
+
json
+
"</json>"
+
"</toast>"
;
}
};
/**
...
...
@@ -240,6 +255,9 @@ exports.isToastTriggered = function (toast) {
notification
=
this
.
getAll
(
id
)[
0
];
fireDate
=
new
Date
((
notification
.
at
)
*
1000
);
if
(
this
.
isRepeating
(
notification
))
return
false
;
return
fireDate
<=
new
Date
();
};
...
...
@@ -289,6 +307,20 @@ exports.callOnTrigger = function (notification, callback) {
};
/**
* Sets trigger event for all scheduled local notification.
*
* @param {Function} callback
* Callback function
*/
exports
.
callOnTriggerForScheduled
=
function
(
callback
)
{
var
notifications
=
this
.
getScheduled
();
for
(
var
i
=
0
;
i
<
notifications
.
length
;
i
++
)
{
this
.
callOnTrigger
(
notifications
[
i
],
callback
);
}
};
/**
* The application state - background or foreground.
*
* @return String
...
...
@@ -328,6 +360,31 @@ exports.fireEvent = function (event, notification) {
* LIFE CYCLE *
**************/
// Called before 'deviceready' event
channel
.
onCordovaReady
.
subscribe
(
function
()
{
// Register trigger handler for each scheduled notification
exports
.
callOnTriggerForScheduled
(
function
(
notification
)
{
this
.
updateBadge
(
notification
.
badge
);
this
.
fireEvent
(
'trigger'
,
notification
);
});
});
// Handle onclick event
WinJS
.
Application
.
addEventListener
(
'activated'
,
function
(
args
)
{
var
id
=
args
.
detail
.
arguments
,
notification
=
exports
.
getAll
([
id
])[
0
];
if
(
!
notification
)
return
;
exports
.
clearLocalNotification
(
id
);
var
repeating
=
exports
.
isRepeating
(
notification
);
exports
.
fireEvent
(
'click'
,
notification
);
exports
.
fireEvent
(
repeating
?
'clear'
:
'cancel'
,
notification
);
},
false
);
// App is running in background
document
.
addEventListener
(
'pause'
,
function
()
{
exports
.
isInBackground
=
true
;
...
...
@@ -343,16 +400,4 @@ document.addEventListener('deviceready', function () {
exports
.
isInBackground
=
false
;
},
false
);
// Handle onclick event
WinJS
.
Application
.
addEventListener
(
'activated'
,
function
(
args
)
{
var
id
=
args
.
detail
.
arguments
,
notification
=
exports
.
getAll
([
id
])[
0
];
if
(
!
notification
)
return
;
exports
.
clearLocalNotification
(
id
);
exports
.
fireEvent
(
'click'
,
notification
);
},
false
);
});
plugins/de.appplant.cordova.plugin.local-notification/plugin.xml
View file @
13af9eab
...
...
@@ -27,8 +27,8 @@
<!-- info -->
<info>
Your support is needed. If you use the plugin please support us in order to ensure further development.
https://github.com/katzer/cordova-plugin-local-notifications
/tree/example#how-can-i-support-the-further-development
Your support is needed. If you use the
local-notification
plugin please support us in order to ensure further development.
https://github.com/katzer/cordova-plugin-local-notifications
#supporting
Thank you!
</info>
...
...
@@ -59,9 +59,6 @@
</feature>
</config-file>
<header-file
src=
"src/ios/AppDelegate+APPLocalNotification.h"
/>
<source-file
src=
"src/ios/AppDelegate+APPLocalNotification.m"
/>
<header-file
src=
"src/ios/APPLocalNotification.h"
/>
<source-file
src=
"src/ios/APPLocalNotification.m"
/>
...
...
@@ -74,6 +71,14 @@
<header-file
src=
"src/ios/UILocalNotification+APPLocalNotification.h"
/>
<source-file
src=
"src/ios/UILocalNotification+APPLocalNotification.m"
/>
<hook
type=
"after_platform_add"
src=
"scripts/ios/didRegisterUserNotificationSettings.js"
/>
<hook
type=
"after_plugin_install"
src=
"scripts/ios/didRegisterUserNotificationSettings.js"
/>
</platform>
<!-- android -->
...
...
plugins/de.appplant.cordova.plugin.local-notification/scripts/ios/didRegisterUserNotificationSettings.js
0 → 100644
View file @
13af9eab
/*
* Copyright (c) 2013-2015 by appPlant UG. All rights reserved.
*
* @APPPLANT_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apache License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://opensource.org/licenses/Apache-2.0/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPPLANT_LICENSE_HEADER_END@
*/
// Hook inserts the UIApplicationRegisterUserNotificationSettings constant
// and the didRegisterUserNotificationSettings method to AppDelegate.
var
fs
=
require
(
'fs'
),
path
=
require
(
'path'
),
rootdir
=
process
.
argv
[
2
];
if
(
!
rootdir
)
return
;
module
.
exports
=
function
(
context
)
{
var
cordova_util
=
context
.
requireCordovaModule
(
'cordova-lib/src/cordova/util'
),
ConfigParser
=
context
.
requireCordovaModule
(
'cordova-lib/src/configparser/ConfigParser'
),
platforms
=
context
.
requireCordovaModule
(
'cordova-lib/src/cordova/platforms'
),
projectRoot
=
cordova_util
.
isCordova
(),
xml
=
cordova_util
.
projectConfig
(
projectRoot
),
cfg
=
new
ConfigParser
(
xml
);
/**
* The absolute path for the file.
*
* @param {String} platform
* The name of the platform like 'ios'.
* @param {String} relPath
* The relative path from the platform root directory.
*
* @return String
*/
function
getAbsPath
(
platform
,
relPath
)
{
var
platform_path
=
path
.
join
(
projectRoot
,
'platforms'
,
platform
),
parser
=
new
platforms
[
platform
].
parser
(
platform_path
);
return
path
.
join
(
parser
.
cordovaproj
,
relPath
);
}
/**
* Replaces a string with another one in a file.
*
* @param {String} path
* Absolute or relative file path from cordova root project.
* @param {String} to_replace
* The string to replace.
* @param {String}
* The string to replace with.
*/
function
replace
(
path
,
to_replace
,
replace_with
)
{
var
data
=
fs
.
readFileSync
(
path
,
'utf8'
),
result
;
if
(
data
.
indexOf
(
replace_with
)
>
-
1
)
return
;
result
=
data
.
replace
(
new
RegExp
(
to_replace
,
'g'
),
replace_with
);
fs
.
writeFileSync
(
path
,
result
,
'utf8'
);
}
// Absolute paths for AppDelegate's header and member
var
h_path
=
getAbsPath
(
'ios'
,
'Classes/AppDelegate.h'
),
m_path
=
getAbsPath
(
'ios'
,
'Classes/AppDelegate.m'
);
// Decleration of UIApplicationRegisterUserNotificationSettings
var
h_UIApplicationRegisterUserNotificationSettings
=
"extern NSString* const UIApplicationRegisterUserNotificationSettings;
\
n"
;
// Implementation of UIApplicationRegisterUserNotificationSettings
var
m_UIApplicationRegisterUserNotificationSettings
=
"NSString* const UIApplicationRegisterUserNotificationSettings = @
\"
UIApplicationRegisterUserNotificationSettings
\"
;
\
n"
;
// Implementation for didRegisterUserNotificationSettings
var
didRegisterUserNotificationSettings
=
"#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
\
n"
+
"
\
n"
+
"- (void) application:(UIApplication*)application
\
n"
+
" didRegisterUserNotificationSettings:(UIUserNotificationSettings*)settings
\
n"
+
"{
\
n"
+
" NSNotificationCenter* center = [NSNotificationCenter
\
n"
+
" defaultCenter];
\
n"
+
"
\
n"
+
" // re-post (broadcast)
\
n"
+
" [center postNotificationName:UIApplicationRegisterUserNotificationSettings
\
n"
+
" object:settings];
\
n"
+
"}
\
n"
+
"#endif
\
n"
;
// Inserts the constant decleration
replace
(
h_path
,
'@interface AppDelegate'
,
h_UIApplicationRegisterUserNotificationSettings
+
"
\
n@interface AppDelegate"
);
// Inserts the constant implementation
replace
(
m_path
,
'@implementation AppDelegate'
,
m_UIApplicationRegisterUserNotificationSettings
+
"
\
n@implementation AppDelegate"
);
// Inserts the didRegisterUserNotificationSettings implementation
replace
(
m_path
,
'@end'
,
didRegisterUserNotificationSettings
+
"
\
n@end"
);
};
plugins/de.appplant.cordova.plugin.local-notification/src/ios/APPLocalNotification.m
View file @
13af9eab
...
...
@@ -21,9 +21,9 @@
* @APPPLANT_LICENSE_HEADER_END@
*/
#import "AppDelegate.h"
#import "APPLocalNotification.h"
#import "APPLocalNotificationOptions.h"
#import "AppDelegate+APPLocalNotification.h"
#import "UIApplication+APPLocalNotification.h"
#import "UILocalNotification+APPLocalNotification.h"
...
...
plugins/de.appplant.cordova.plugin.local-notification/src/ios/AppDelegate+APPLocalNotification.h
deleted
100644 → 0
View file @
c4a5a7cb
/*
* Copyright (c) 2013-2015 by appPlant UG. All rights reserved.
*
* @APPPLANT_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apache License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://opensource.org/licenses/Apache-2.0/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPPLANT_LICENSE_HEADER_END@
*/
#import "AppDelegate.h"
#import <Availability.h>
extern
NSString
*
const
UIApplicationRegisterUserNotificationSettings
;
@interface
AppDelegate
(
APPLocalNotification
)
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
// Tells the delegate what types of notifications may be used
-
(
void
)
application
:(
UIApplication
*
)
application
didRegisterUserNotificationSettings
:(
UIUserNotificationSettings
*
)
settings
;
#endif
@end
plugins/de.appplant.cordova.plugin.local-notification/src/ios/AppDelegate+APPLocalNotification.m
deleted
100644 → 0
View file @
c4a5a7cb
/*
* Copyright (c) 2013-2015 by appPlant UG. All rights reserved.
*
* @APPPLANT_LICENSE_HEADER_START@
*
* This file contains Original Code and/or Modifications of Original Code
* as defined in and that are subject to the Apache License
* Version 2.0 (the 'License'). You may not use this file except in
* compliance with the License. Please obtain a copy of the License at
* http://opensource.org/licenses/Apache-2.0/ and read it before using this
* file.
*
* The Original Code and all software distributed under the License are
* distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
* EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
* INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
* Please see the License for the specific language governing rights and
* limitations under the License.
*
* @APPPLANT_LICENSE_HEADER_END@
*/
#import "AppDelegate+APPLocalNotification.h"
#import <Availability.h>
NSString
*
const
UIApplicationRegisterUserNotificationSettings
=
@"UIApplicationRegisterUserNotificationSettings"
;
@implementation
AppDelegate
(
APPLocalNotification
)
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
/**
* Tells the delegate what types of notifications may be used
* to get the user’s attention.
*/
-
(
void
)
application
:(
UIApplication
*
)
application
didRegisterUserNotificationSettings
:(
UIUserNotificationSettings
*
)
settings
{
NSNotificationCenter
*
center
=
[
NSNotificationCenter
defaultCenter
];
// re-post (broadcast)
[
center
postNotificationName
:
UIApplicationRegisterUserNotificationSettings
object
:
settings
];
}
#endif
@end
plugins/de.appplant.cordova.plugin.local-notification/src/ios/UIApplication+APPLocalNotification.m
View file @
13af9eab
...
...
@@ -62,7 +62,10 @@
UIUserNotificationType
types
;
UIUserNotificationSettings
*
settings
;
types
=
UIUserNotificationTypeAlert
|
UIUserNotificationTypeBadge
|
UIUserNotificationTypeSound
;
settings
=
[[
UIApplication
sharedApplication
]
currentUserNotificationSettings
];
types
=
settings
.
types
|
UIUserNotificationTypeAlert
|
UIUserNotificationTypeBadge
|
UIUserNotificationTypeSound
;
settings
=
[
UIUserNotificationSettings
settingsForTypes
:
types
categories
:
nil
];
...
...
plugins/de.appplant.cordova.plugin.local-notification/src/windows/LocalNotificationCore.js
View file @
13af9eab
...
...
@@ -32,14 +32,12 @@ exports.core = {
*/
deviceready
:
function
()
{
var
plugin
=
cordova
.
plugins
.
notification
.
local
,
args
;
events
=
this
.
eventQueue
;
this
.
isReady
=
true
;
for
(
var
i
=
0
;
i
<
this
.
eventQueue
.
length
;
i
++
)
{
args
=
this
.
eventQueue
[
i
];
plugin
.
fireEvent
.
apply
(
plugin
,
args
);
for
(
var
i
=
0
;
i
<
events
.
length
;
i
++
)
{
plugin
.
fireEvent
.
apply
(
plugin
,
events
[
i
]);
}
this
.
eventQueue
=
[];
...
...
@@ -54,8 +52,8 @@ exports.core = {
* 'schedule' or 'update'
*/
schedule
:
function
(
notifications
)
{
var
triggerFn
=
function
(
notification
)
{
this
.
updateBadge
(
notification
.
badge
);
this
.
fireEvent
(
'trigger'
,
notification
);
};
...
...
@@ -64,10 +62,8 @@ exports.core = {
notification
=
this
.
build
(
options
);
this
.
cancelLocalNotification
(
options
.
id
);
this
.
scheduleLocalNotification
(
notification
,
options
);
this
.
scheduleBackupNotification
(
notification
,
options
);
this
.
fireEvent
(
'schedule'
,
options
);
this
.
callOnTrigger
(
options
,
triggerFn
);
}
...
...
@@ -128,15 +124,22 @@ exports.core = {
},
/**
* Updates
a single local notification
.
* Updates
the badge number of the active tile
.
*
* @param {Object} notification
* The local notification
* @param {Object} updates
* Updated properties
* @param {Number} badge
* The badge number. Zero will clean the badge.
*/
updateLocalNotification
:
function
(
notification
,
updates
)
{
updateBadge
:
function
(
badge
)
{
var
notifications
=
Windows
.
UI
.
Notifications
,
type
=
notifications
.
BadgeTemplateType
.
badgeNumber
,
xml
=
notifications
.
BadgeUpdateManager
.
getTemplateContent
(
type
),
attrs
=
xml
.
getElementsByTagName
(
'badge'
),
notification
=
new
notifications
.
BadgeNotification
(
xml
);
attrs
[
0
].
setAttribute
(
'value'
,
badge
);
notifications
.
BadgeUpdateManager
.
createBadgeUpdaterForApplication
()
.
update
(
notification
);
},
/**
...
...
@@ -156,6 +159,23 @@ exports.core = {
},
/**
* Updates a single local notification.
*
* @param {Object} notification
* The local notification
* @param {Object} updates
* Updated properties
*/
updateLocalNotification
:
function
(
notification
,
updates
)
{
for
(
var
key
in
updates
)
{
notification
[
key
]
=
updates
[
key
];
}
this
.
cancelLocalNotification
(
notification
.
id
);
this
.
scheduleLocalNotification
(
notification
);
},
/**
* Clears the specified notifications.
*
* @param {int[]} ids
...
...
@@ -163,9 +183,10 @@ exports.core = {
*/
clear
:
function
(
ids
)
{
for
(
var
i
=
0
;
i
<
ids
.
length
;
i
++
)
{
var
notification
=
this
.
getAll
([
id
])[
0
];
var
id
=
ids
[
i
],
notification
=
this
.
getAll
([
id
])[
0
];
this
.
clearLocalNotification
(
id
s
[
i
]
);
this
.
clearLocalNotification
(
id
);
this
.
fireEvent
(
'clear'
,
notification
);
}
},
...
...
@@ -177,8 +198,13 @@ exports.core = {
* Local notification ID
*/
clearLocalNotification
:
function
(
id
)
{
var
notification
=
this
.
getAll
([
id
])[
0
];
this
.
getToastHistory
().
remove
(
'Toast'
+
id
);
if
(
this
.
isRepeating
(
notification
))
return
;
if
(
this
.
isTriggered
(
id
)
&&
!
this
.
isScheduled
(
id
))
{
this
.
cancelLocalNotification
(
id
);
}
...
...
@@ -206,7 +232,8 @@ exports.core = {
*/
cancel
:
function
(
ids
)
{
for
(
var
i
=
0
;
i
<
ids
.
length
;
i
++
)
{
var
notification
=
this
.
getAll
([
id
])[
0
];
var
id
=
ids
[
i
],
notification
=
this
.
getAll
([
id
])[
0
];
this
.
cancelLocalNotification
(
ids
[
i
]);
this
.
fireEvent
(
'cancel'
,
notification
);
...
...
@@ -256,7 +283,7 @@ exports.core = {
* Local notification ID
*/
isPresent
:
function
(
id
)
{
return
this
.
getAllIds
().
indexOf
(
id
)
>
-
1
;
return
!!
this
.
findToastById
(
id
)
;
},
/**
...
...
@@ -266,7 +293,9 @@ exports.core = {
* Local notification ID
*/
isScheduled
:
function
(
id
)
{
return
this
.
getScheduledIds
().
indexOf
(
id
)
>
-
1
;
var
toast
=
this
.
findToastById
(
id
);
return
toast
&&
this
.
isToastScheduled
(
toast
);
},
/**
...
...
@@ -276,7 +305,9 @@ exports.core = {
* Local notification ID
*/
isTriggered
:
function
(
id
)
{
return
this
.
getTriggeredIds
().
indexOf
(
id
)
>
-
1
;
var
toast
=
this
.
findToastById
(
id
);
return
toast
&&
this
.
isToastTriggered
(
toast
);
},
/**
...
...
@@ -346,8 +377,8 @@ exports.core = {
var
toasts
=
this
.
getScheduledToasts
(),
notifications
=
[];
if
(
ids
.
length
===
0
)
{
ids
=
getAllIds
();
if
(
!
ids
||
ids
.
length
===
0
)
{
ids
=
this
.
getAllIds
();
}
for
(
var
index
=
0
;
index
<
ids
.
length
;
index
++
)
{
...
...
@@ -373,7 +404,7 @@ exports.core = {
* List of local notification IDs
*/
getScheduled
:
function
(
ids
)
{
if
(
ids
.
length
===
0
)
{
if
(
!
ids
||
ids
.
length
===
0
)
{
ids
=
this
.
getAllIds
();
}
...
...
@@ -388,7 +419,7 @@ exports.core = {
* List of local notification IDs
*/
getTriggered
:
function
(
ids
)
{
if
(
ids
.
length
===
0
)
{
if
(
!
ids
||
ids
.
length
===
0
)
{
ids
=
this
.
getAllIds
();
}
...
...
plugins/de.appplant.cordova.plugin.local-notification/src/windows/LocalNotificationUtil.js
View file @
13af9eab
...
...
@@ -19,6 +19,9 @@
under the License.
*/
var
channel
=
require
(
'cordova/channel'
);
exports
=
require
(
'de.appplant.cordova.plugin.local-notification.LocalNotification.Proxy.Core'
).
core
;
...
...
@@ -66,6 +69,18 @@ exports.getRepeatInterval = function (every) {
};
/**
* If the notification is repeating.
*
* @param {Object} notification
* Local notification object
*
* @return Boolean
*/
exports
.
isRepeating
=
function
(
notification
)
{
return
this
.
getRepeatInterval
(
notification
.
every
)
!==
0
;
};
/**
* Parses sound file path.
*
* @param {String} path
...
...
@@ -93,38 +108,14 @@ exports.parseSound = function (path) {
* @param {Object} options
* Local notification properties
*
* @return {String}
* Windows.Data.Xml.Dom.XmlDocument
* @return Windows.Data.Xml.Dom.XmlDocument
*/
exports
.
build
=
function
(
options
)
{
var
title
=
options
.
title
,
message
=
options
.
text
||
''
,
sound
=
''
;
if
(
!
title
||
title
===
''
)
{
title
=
'Notification'
;
}
if
(
options
.
sound
)
{
sound
=
this
.
parseSound
(
options
.
sound
);
}
var
payload
=
"<toast> "
+
"<visual version='2'>"
+
"<binding template='ToastText02'>"
+
"<text id='2'>"
+
message
+
"</text>"
+
"<text id='1'>"
+
title
+
"</text>"
+
"</binding>"
+
"</visual>"
+
sound
+
"<json>"
+
JSON
.
stringify
(
options
)
+
"</json>"
+
"</toast>"
;
var
notification
=
new
Windows
.
Data
.
Xml
.
Dom
.
XmlDocument
();
var
template
=
this
.
buildToastTemplate
(
options
),
notification
=
new
Windows
.
Data
.
Xml
.
Dom
.
XmlDocument
();
try
{
notification
.
loadXml
(
payload
);
notification
.
loadXml
(
template
);
}
catch
(
e
)
{
console
.
error
(
'LocalNotification#schedule'
,
...
...
@@ -142,6 +133,48 @@ exports.build = function (options) {
};
/**
* Builds the toast template with the right style depend on the options.
*
* @param {Object} options
* Local notification properties
*
* @return String
*/
exports
.
buildToastTemplate
=
function
(
options
)
{
var
title
=
options
.
title
,
message
=
options
.
text
||
''
,
json
=
JSON
.
stringify
(
options
),
sound
=
''
;
if
(
options
.
sound
&&
options
.
sound
!==
''
)
{
sound
=
this
.
parseSound
(
options
.
sound
);
}
if
(
title
&&
title
!==
''
)
{
return
"<toast>"
+
"<visual>"
+
"<binding template='ToastText02'>"
+
"<text id='1'>"
+
title
+
"</text>"
+
"<text id='2'>"
+
message
+
"</text>"
+
"</binding>"
+
"</visual>"
+
sound
+
"<json>"
+
json
+
"</json>"
+
"</toast>"
;
}
else
{
return
"<toast>"
+
"<visual>"
+
"<binding template='ToastText01'>"
+
"<text id='1'>"
+
message
+
"</text>"
+
"</binding>"
+
"</visual>"
+
sound
+
"<json>"
+
json
+
"</json>"
+
"</toast>"
;
}
};
/**
* Short-hand method for the toast notification history.
*/
exports
.
getToastHistory
=
function
()
{
...
...
@@ -222,6 +255,9 @@ exports.isToastTriggered = function (toast) {
notification
=
this
.
getAll
(
id
)[
0
];
fireDate
=
new
Date
((
notification
.
at
)
*
1000
);
if
(
this
.
isRepeating
(
notification
))
return
false
;
return
fireDate
<=
new
Date
();
};
...
...
@@ -271,6 +307,20 @@ exports.callOnTrigger = function (notification, callback) {
};
/**
* Sets trigger event for all scheduled local notification.
*
* @param {Function} callback
* Callback function
*/
exports
.
callOnTriggerForScheduled
=
function
(
callback
)
{
var
notifications
=
this
.
getScheduled
();
for
(
var
i
=
0
;
i
<
notifications
.
length
;
i
++
)
{
this
.
callOnTrigger
(
notifications
[
i
],
callback
);
}
};
/**
* The application state - background or foreground.
*
* @return String
...
...
@@ -310,6 +360,31 @@ exports.fireEvent = function (event, notification) {
* LIFE CYCLE *
**************/
// Called before 'deviceready' event
channel
.
onCordovaReady
.
subscribe
(
function
()
{
// Register trigger handler for each scheduled notification
exports
.
callOnTriggerForScheduled
(
function
(
notification
)
{
this
.
updateBadge
(
notification
.
badge
);
this
.
fireEvent
(
'trigger'
,
notification
);
});
});
// Handle onclick event
WinJS
.
Application
.
addEventListener
(
'activated'
,
function
(
args
)
{
var
id
=
args
.
detail
.
arguments
,
notification
=
exports
.
getAll
([
id
])[
0
];
if
(
!
notification
)
return
;
exports
.
clearLocalNotification
(
id
);
var
repeating
=
exports
.
isRepeating
(
notification
);
exports
.
fireEvent
(
'click'
,
notification
);
exports
.
fireEvent
(
repeating
?
'clear'
:
'cancel'
,
notification
);
},
false
);
// App is running in background
document
.
addEventListener
(
'pause'
,
function
()
{
exports
.
isInBackground
=
true
;
...
...
@@ -324,15 +399,3 @@ document.addEventListener('resume', function () {
document
.
addEventListener
(
'deviceready'
,
function
()
{
exports
.
isInBackground
=
false
;
},
false
);
// Handle onclick event
WinJS
.
Application
.
addEventListener
(
'activated'
,
function
(
args
)
{
var
id
=
args
.
detail
.
arguments
,
notification
=
exports
.
getAll
([
id
])[
0
];
if
(
!
notification
)
return
;
exports
.
clearLocalNotification
(
id
);
exports
.
fireEvent
(
'click'
,
notification
);
},
false
);
plugins/ios.json
View file @
13af9eab
...
...
@@ -9,15 +9,15 @@
"parents"
:
{
"/*"
:
[
{
"xml"
:
"<feature name=
\"
Toast
\"
><param name=
\"
ios-package
\"
value=
\"
Toast
\"
/></feature>"
,
"xml"
:
"<feature name=
\"
Device
\"
><param name=
\"
ios-package
\"
value=
\"
CDVDevice
\"
/></feature>"
,
"count"
:
1
},
{
"xml"
:
"<feature name=
\"
Device
\"
><param name=
\"
ios-package
\"
value=
\"
CDVDevic
e
\"
/></feature>"
,
"xml"
:
"<feature name=
\"
LocalNotification
\"
><param name=
\"
ios-package
\"
onload=
\"
true
\"
value=
\"
APPLocalNotification
\"
/><param name=
\"
onload
\"
value=
\"
tru
e
\"
/></feature>"
,
"count"
:
1
},
{
"xml"
:
"<feature name=
\"
LocalNotification
\"
><param name=
\"
ios-package
\"
onload=
\"
true
\"
value=
\"
APPLocalNotification
\"
/><param name=
\"
onload
\"
value=
\"
true
\"
/></feature>"
,
"xml"
:
"<feature name=
\"
Toast
\"
><param name=
\"
ios-package
\"
value=
\"
Toast
\"
/></feature>"
,
"count"
:
1
}
]
...
...
@@ -36,16 +36,16 @@
}
},
"installed_plugins"
:
{
"nl.x-services.plugins.toast"
:
{
"PACKAGE_NAME"
:
"de.appplant.cordova.plugin.local-notification.example"
},
"de.appplant.cordova.plugin.local-notification"
:
{
"PACKAGE_NAME"
:
"de.appplant.cordova.plugin.local-notification.example"
"PACKAGE_NAME"
:
"de.appplant.localnotification.example"
},
"nl.x-services.plugins.toast"
:
{
"PACKAGE_NAME"
:
"de.appplant.localnotification.example"
}
},
"dependent_plugins"
:
{
"org.apache.cordova.device"
:
{
"PACKAGE_NAME"
:
"de.appplant.
cordova.plugin.local-
notification.example"
"PACKAGE_NAME"
:
"de.appplant.
local
notification.example"
}
}
}
\ No newline at end of file
plugins/windows.json
View file @
13af9eab
...
...
@@ -7,10 +7,10 @@
"files"
:
{}
},
"installed_plugins"
:
{
"
de.appplant.cordova.plugin.local-notification
"
:
{
"
nl.x-services.plugins.toast
"
:
{
"PACKAGE_NAME"
:
"NotificationExample"
},
"
nl.x-services.plugins.toast
"
:
{
"
de.appplant.cordova.plugin.local-notification
"
:
{
"PACKAGE_NAME"
:
"NotificationExample"
}
},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment