You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cordova.apache.org by ia...@apache.org on 2015/03/19 17:56:08 UTC
[19/50] [abbrv] ios commit: CB-7826 - Add CDVPlugin support for
getting items from plugin resource bundles
CB-7826 - Add CDVPlugin support for getting items from plugin resource bundles
Project: http://git-wip-us.apache.org/repos/asf/cordova-ios/repo
Commit: http://git-wip-us.apache.org/repos/asf/cordova-ios/commit/f55cfb41
Tree: http://git-wip-us.apache.org/repos/asf/cordova-ios/tree/f55cfb41
Diff: http://git-wip-us.apache.org/repos/asf/cordova-ios/diff/f55cfb41
Branch: refs/heads/unplug-whitelist
Commit: f55cfb41e5302bfd378eb04e5d2fc491b2ac3fbc
Parents: 1e500ce
Author: Shazron Abdullah <sh...@apache.org>
Authored: Mon Mar 16 17:57:55 2015 -0700
Committer: Shazron Abdullah <sh...@apache.org>
Committed: Mon Mar 16 17:57:55 2015 -0700
----------------------------------------------------------------------
CordovaLib/Classes/CDVPlugin+Resources.h | 39 ++++++++++++++++++++
CordovaLib/Classes/CDVPlugin+Resources.m | 38 +++++++++++++++++++
CordovaLib/Classes/CDVPlugin.m | 1 +
CordovaLib/CordovaLib.xcodeproj/project.pbxproj | 8 ++++
4 files changed, 86 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/f55cfb41/CordovaLib/Classes/CDVPlugin+Resources.h
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVPlugin+Resources.h b/CordovaLib/Classes/CDVPlugin+Resources.h
new file mode 100644
index 0000000..cc43b16
--- /dev/null
+++ b/CordovaLib/Classes/CDVPlugin+Resources.h
@@ -0,0 +1,39 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+#import <UIKit/UIKit.h>
+#import "CDVPlugin.h"
+
+@interface CDVPlugin (CDVPluginResources)
+
+/*
+ This will return the localized string for a key in a .bundle that is named the same as your class
+ For example, if your plugin class was called Foo, and you have a Spanish localized strings file, it will
+ try to load the desired key from Foo.bundle/es.lproj/Localizable.strings
+ */
+- (NSString*)pluginLocalizedString:(NSString*)key;
+
+/*
+ This will return the image for a name in a .bundle that is named the same as your class
+ For example, if your plugin class was called Foo, and you have an image called "bar",
+ it will try to load the image from Foo.bundle/bar.png (and appropriately named retina versions)
+ */
+- (UIImage*)pluginImageResource:(NSString*)name;
+
+@end
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/f55cfb41/CordovaLib/Classes/CDVPlugin+Resources.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVPlugin+Resources.m b/CordovaLib/Classes/CDVPlugin+Resources.m
new file mode 100644
index 0000000..5690738
--- /dev/null
+++ b/CordovaLib/Classes/CDVPlugin+Resources.m
@@ -0,0 +1,38 @@
+/*
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements. See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership. The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied. See the License for the
+ specific language governing permissions and limitations
+ under the License.
+ */
+
+#import "CDVPlugin+Resources.h"
+
+@implementation CDVPlugin (CDVPluginResources)
+
+- (NSString*)pluginLocalizedString:(NSString*)key
+{
+ NSBundle* bundle = [NSBundle bundleWithPath:[[NSBundle mainBundle] pathForResource:NSStringFromClass([self class]) ofType:@"bundle"]];
+
+ return [bundle localizedStringForKey:(key) value:nil table:nil];
+}
+
+- (UIImage*)pluginImageResource:(NSString*)name
+{
+ NSString* resourceIdentifier = [NSString stringWithFormat:@"%@.bundle/%@", NSStringFromClass([self class]), name];
+
+ return [UIImage imageNamed:resourceIdentifier];
+}
+
+@end
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/f55cfb41/CordovaLib/Classes/CDVPlugin.m
----------------------------------------------------------------------
diff --git a/CordovaLib/Classes/CDVPlugin.m b/CordovaLib/Classes/CDVPlugin.m
index 121e54c..ac3a8ee 100644
--- a/CordovaLib/Classes/CDVPlugin.m
+++ b/CordovaLib/Classes/CDVPlugin.m
@@ -19,6 +19,7 @@
#import "CDVPlugin.h"
#import "CDVPlugin+Private.h"
+#import "CDVPlugin+Resources.h"
#import "CDVViewController.h"
#include <objc/message.h>
http://git-wip-us.apache.org/repos/asf/cordova-ios/blob/f55cfb41/CordovaLib/CordovaLib.xcodeproj/project.pbxproj
----------------------------------------------------------------------
diff --git a/CordovaLib/CordovaLib.xcodeproj/project.pbxproj b/CordovaLib/CordovaLib.xcodeproj/project.pbxproj
index 2dbf054..2957580 100644
--- a/CordovaLib/CordovaLib.xcodeproj/project.pbxproj
+++ b/CordovaLib/CordovaLib.xcodeproj/project.pbxproj
@@ -13,6 +13,8 @@
3034979C1513D56A0090E688 /* CDVLocalStorage.h in Headers */ = {isa = PBXBuildFile; fileRef = 3034979A1513D56A0090E688 /* CDVLocalStorage.h */; settings = {ATTRIBUTES = (Public, ); }; };
3034979E1513D56A0090E688 /* CDVLocalStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 3034979B1513D56A0090E688 /* CDVLocalStorage.m */; };
30392E4E14F4FCAB00B9E0B8 /* CDVAvailability.h in Headers */ = {isa = PBXBuildFile; fileRef = 30392E4D14F4FCAB00B9E0B8 /* CDVAvailability.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 306A45021AB7B073003D6925 /* CDVPlugin+Resources.h in Headers */ = {isa = PBXBuildFile; fileRef = 306A45001AB7B073003D6925 /* CDVPlugin+Resources.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 306A45031AB7B073003D6925 /* CDVPlugin+Resources.m in Sources */ = {isa = PBXBuildFile; fileRef = 306A45011AB7B073003D6925 /* CDVPlugin+Resources.m */; };
306ADADD1AAA739800CAC885 /* CDVHandleOpenURL.h in Headers */ = {isa = PBXBuildFile; fileRef = 306ADADC1AAA739800CAC885 /* CDVHandleOpenURL.h */; };
306ADAE01AAA73BA00CAC885 /* CDVHandleOpenURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 306ADADE1AAA73A800CAC885 /* CDVHandleOpenURL.m */; };
306ADAE51AAA73E100CAC885 /* CDVUIWebViewEngine.m in Sources */ = {isa = PBXBuildFile; fileRef = 306ADAE11AAA73E100CAC885 /* CDVUIWebViewEngine.m */; };
@@ -63,6 +65,8 @@
3034979A1513D56A0090E688 /* CDVLocalStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CDVLocalStorage.h; path = Classes/CDVLocalStorage.h; sourceTree = "<group>"; };
3034979B1513D56A0090E688 /* CDVLocalStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CDVLocalStorage.m; path = Classes/CDVLocalStorage.m; sourceTree = "<group>"; };
30392E4D14F4FCAB00B9E0B8 /* CDVAvailability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CDVAvailability.h; path = Classes/CDVAvailability.h; sourceTree = "<group>"; };
+ 306A45001AB7B073003D6925 /* CDVPlugin+Resources.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "CDVPlugin+Resources.h"; path = "Classes/CDVPlugin+Resources.h"; sourceTree = "<group>"; };
+ 306A45011AB7B073003D6925 /* CDVPlugin+Resources.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "CDVPlugin+Resources.m"; path = "Classes/CDVPlugin+Resources.m"; sourceTree = "<group>"; };
306ADADC1AAA739800CAC885 /* CDVHandleOpenURL.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CDVHandleOpenURL.h; path = Classes/CDVHandleOpenURL.h; sourceTree = "<group>"; };
306ADADE1AAA73A800CAC885 /* CDVHandleOpenURL.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CDVHandleOpenURL.m; path = Classes/CDVHandleOpenURL.m; sourceTree = "<group>"; };
306ADAE11AAA73E100CAC885 /* CDVUIWebViewEngine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = CDVUIWebViewEngine.m; path = Classes/CDVUIWebViewEngine.m; sourceTree = "<group>"; };
@@ -172,6 +176,8 @@
306ADAE21AAA73E100CAC885 /* CDVWebViewEngineProtocol.h */,
7E5D94161AB250F800F4D9EB /* CDVAppDelegate.h */,
7E5D94171AB250F800F4D9EB /* CDVAppDelegate.m */,
+ 306A45001AB7B073003D6925 /* CDVPlugin+Resources.h */,
+ 306A45011AB7B073003D6925 /* CDVPlugin+Resources.m */,
);
name = Public;
sourceTree = "<group>";
@@ -228,6 +234,7 @@
7E5D94151AB23DB400F4D9EB /* CDVPlugin+Private.h in Headers */,
306ADAE71AAA73E100CAC885 /* NSDictionary+CordovaPreferences.h in Headers */,
EB6A98571A77FA430013FCDB /* NSData+Base64.h in Headers */,
+ 306A45021AB7B073003D6925 /* CDVPlugin+Resources.h in Headers */,
EBFF4DBD16D3FE2E008F452B /* CDVUIWebViewDelegate.h in Headers */,
306ADAEB1AAA747100CAC885 /* NSMutableArray+QueueAdditions.h in Headers */,
306ADAEC1AAA753300CAC885 /* CDVCommandDelegateImpl.h in Headers */,
@@ -297,6 +304,7 @@
30C684821406CB38004C1A8E /* CDVWhitelist.m in Sources */,
30C684961407044B004C1A8E /* CDVURLProtocol.m in Sources */,
7E5D94191AB250F800F4D9EB /* CDVAppDelegate.m in Sources */,
+ 306A45031AB7B073003D6925 /* CDVPlugin+Resources.m in Sources */,
8852C43C14B65FD800F0E735 /* CDVViewController.m in Sources */,
3034979E1513D56A0090E688 /* CDVLocalStorage.m in Sources */,
306ADAE51AAA73E100CAC885 /* CDVUIWebViewEngine.m in Sources */,
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@cordova.apache.org
For additional commands, e-mail: commits-help@cordova.apache.org