9 | We've sent you an email with a temporary password. 10 | Please change your password. 11 |
12 |
55 | * $scope.$on('$viewContentLoading',
56 | * function(event, viewConfig){
57 | * // Access to all the view config properties.
58 | * // and one special property 'targetView'
59 | * // viewConfig.targetView
60 | * });
61 | *
62 | */
63 | $rootScope.$broadcast('$viewContentLoading', options);
64 | }
65 | return result;
66 | }
67 | };
68 | }
69 | }
70 |
71 | angular.module('ui.router.state').provider('$view', $ViewProvider);
72 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/blackberry10/index.js:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 |
22 | function getModelName () {
23 | var modelName = window.qnx.webplatform.device.modelName;
24 | //Pre 10.2 (meaning Z10 or Q10)
25 | if (typeof modelName === "undefined") {
26 | if (window.screen.height === 720 && window.screen.width === 720) {
27 | if ( window.matchMedia("(-blackberry-display-technology: -blackberry-display-oled)").matches) {
28 | modelName = "Q10";
29 | } else {
30 | modelName = "Q5";
31 | }
32 | } else if ((window.screen.height === 1280 && window.screen.width === 768) ||
33 | (window.screen.height === 768 && window.screen.width === 1280)) {
34 | modelName = "Z10";
35 | } else {
36 | modelName = window.qnx.webplatform.deviceName;
37 | }
38 | }
39 |
40 | return modelName;
41 | }
42 |
43 | function getUUID () {
44 | var uuid = "";
45 | try {
46 | //Must surround by try catch because this will throw if the app is missing permissions
47 | uuid = window.qnx.webplatform.device.devicePin;
48 | } catch (e) {
49 | //DO Nothing
50 | }
51 | return uuid;
52 | }
53 |
54 | module.exports = {
55 | getDeviceInfo: function (success, fail, args, env) {
56 | var result = new PluginResult(args, env),
57 | modelName = getModelName(),
58 | uuid = getUUID(),
59 | info = {
60 | platform: "blackberry10",
61 | version: window.qnx.webplatform.device.scmBundle,
62 | model: modelName,
63 | uuid: uuid
64 | };
65 |
66 | result.ok(info);
67 | }
68 | };
69 |
--------------------------------------------------------------------------------
/www/lib/ionic/scss/_list.scss:
--------------------------------------------------------------------------------
1 |
2 | /**
3 | * Lists
4 | * --------------------------------------------------
5 | */
6 |
7 | .list {
8 | position: relative;
9 | padding-top: $item-border-width;
10 | padding-bottom: $item-border-width;
11 | padding-left: 0; // reset padding because ul and ol
12 | margin-bottom: 20px;
13 | }
14 | .list:last-child {
15 | margin-bottom: 0px;
16 | }
17 |
18 |
19 | /**
20 | * List Header
21 | * --------------------------------------------------
22 | */
23 |
24 | .list-header {
25 | margin-top: $list-header-margin-top;
26 | padding: $list-header-padding;
27 | background-color: $list-header-bg;
28 | color: $list-header-color;
29 | font-weight: bold;
30 | }
31 |
32 | // when its a card make sure it doesn't duplicate top and bottom borders
33 | .card.list .list-item {
34 | padding-right: 1px;
35 | padding-left: 1px;
36 | }
37 |
38 |
39 | /**
40 | * Cards and Inset Lists
41 | * --------------------------------------------------
42 | * A card and list-inset are close to the same thing, except a card as a box shadow.
43 | */
44 |
45 | .card,
46 | .list-inset {
47 | overflow: hidden;
48 | margin: ($content-padding * 2) $content-padding;
49 | border-radius: $card-border-radius;
50 | background-color: $card-body-bg;
51 | }
52 |
53 | .card {
54 | padding-top: $item-border-width;
55 | padding-bottom: $item-border-width;
56 | box-shadow: 0 1px 1px rgba(0, 0, 0, .1);
57 | }
58 |
59 | .card .item,
60 | .list-inset .item,
61 | .padding > .list .item
62 | {
63 | &:first-child {
64 | border-top-left-radius: $card-border-radius;
65 | border-top-right-radius: $card-border-radius;
66 |
67 | .item-content {
68 | border-top-left-radius: $card-border-radius;
69 | border-top-right-radius: $card-border-radius;
70 | }
71 | }
72 | &:last-child {
73 | border-bottom-right-radius: $card-border-radius;
74 | border-bottom-left-radius: $card-border-radius;
75 |
76 | .item-content {
77 | border-bottom-right-radius: $card-border-radius;
78 | border-bottom-left-radius: $card-border-radius;
79 | }
80 | }
81 | }
82 |
83 | .card .item:last-child,
84 | .list-inset .item:last-child {
85 | margin-bottom: $item-border-width * -1;
86 | }
87 |
88 | .card .item,
89 | .list-inset .item,
90 | .padding > .list .item,
91 | .padding-horizontal > .list .item {
92 | margin-right: 0;
93 | margin-left: 0;
94 |
95 | &.item-input input {
96 | padding-right: 44px;
97 | }
98 | }
99 | .padding-left > .list .item {
100 | margin-left: 0;
101 | }
102 | .padding-right > .list .item {
103 | margin-right: 0;
104 | }
105 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/RELEASENOTES.md:
--------------------------------------------------------------------------------
1 |
21 | # Release Notes
22 |
23 | ### 0.2.1 (Sept 5, 2013)
24 | * removed extraneous print statement
25 | * [CB-4432] copyright notice change
26 |
27 | ### 0.2.3 (Sept 25, 2013)
28 | * CB-4889 bumping&resetting version
29 | * [windows8] commandProxy has moved
30 | * [BlackBerry10] removed uneeded permission tags in plugin.xml
31 | * CB-4889 renaming org.apache.cordova.core.device to org.apache.cordova.device
32 | * Rename CHANGELOG.md -> RELEASENOTES.md
33 | * updated to use commandProxy for ffos
34 | * add firefoxos support
35 | * [CB-4752] Incremented plugin version on dev branch.
36 |
37 | ### 0.2.4 (Oct 28, 2013)
38 | * CB-5128: added repo + issue tag in plugin.xml for device plugin
39 | * CB-5085 device.cordova returning wrong value
40 | * [CB-4915] Incremented plugin version on dev branch.
41 |
42 | ### 0.2.5 (Dec 4, 2013)
43 | * CB-5316 Spell Cordova as a brand unless it's a command or script
44 | * [ubuntu] use cordova/exec/proxy
45 | * add ubuntu platform
46 | * Modify Device.platform logic to use amazon-fireos as the platform for Amazon Devices
47 | * 1. Added amazon-fireos platform. 2. Change to use cordova-amazon-fireos as the platform if user agent contains 'cordova-amazon-fireos'
48 |
49 | ### 0.2.6 (Jan 02, 2014)
50 | * CB-5658 Add doc/index.md for Device plugin
51 | * CB-5504 Moving Telephony Logic out of Device
52 |
53 | ### 0.2.7 (Jan 07, 2014)
54 | * CB-5737 Fix exception on close caused by left over telephony code from CB-5504
55 |
56 | ### 0.2.8 (Feb 05, 2014)
57 | * Tizen support added
58 |
59 | ### 0.2.9 (Apr 17, 2014)
60 | * CB-5105: [Android, windows8, WP, BlackBerry10] Removed dead code for device.version
61 | * CB-6422: [windows8] use cordova/exec/proxy
62 | * CB-6460: Update license headers
63 | * Add NOTICE file
64 |
65 | ### 0.2.10 (Jun 05, 2014)
66 | * CB-6127 Spanish and French Translations added. Github close #12
67 | * Changing 1.5 to 2.0
68 | * added firefoxos version - conversion
69 | * added firefoxos version
70 | * CB-6800 Add license
71 | * CB-6491 add CONTRIBUTING.md
72 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/firefoxos/DeviceProxy.js:
--------------------------------------------------------------------------------
1 | /*
2 | *
3 | * Licensed to the Apache Software Foundation (ASF) under one
4 | * or more contributor license agreements. See the NOTICE file
5 | * distributed with this work for additional information
6 | * regarding copyright ownership. The ASF licenses this file
7 | * to you under the Apache License, Version 2.0 (the
8 | * "License"); you may not use this file except in compliance
9 | * with the License. You may obtain a copy of the License at
10 | *
11 | * http://www.apache.org/licenses/LICENSE-2.0
12 | *
13 | * Unless required by applicable law or agreed to in writing,
14 | * software distributed under the License is distributed on an
15 | * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16 | * KIND, either express or implied. See the License for the
17 | * specific language governing permissions and limitations
18 | * under the License.
19 | *
20 | */
21 | //example UA String for Firefox OS
22 | //Mozilla/5.0 (Mobile; rv:26.0) Gecko/26.0 Firefox/26.0
23 | var firefoxos = require('cordova/platform');
24 | var cordova = require('cordova');
25 |
26 | //UA parsing not recommended but currently this is the only way to get the Firefox OS version
27 | //https://developer.mozilla.org/en-US/docs/Gecko_user_agent_string_reference
28 |
29 | //Should be replaced when better conversion to Firefox OS Version is available
30 | function convertVersionNumber(ver) {
31 | var hashVersion = {
32 | '18.0': '1.0.1',
33 | '18.1': '1.1',
34 | '26.0': '1.2',
35 | '28.0': '1.3',
36 | '30.0': '1.4',
37 | '32.0': '2.0'
38 | };
39 | var rver = ver;
40 | var sStr = ver.substring(0, 4);
41 | if (hashVersion[sStr]) {
42 | rver = hashVersion[sStr];
43 | }
44 | return (rver);
45 |
46 | }
47 | function getVersion() {
48 | if (navigator.userAgent.match(/(mobile|tablet)/i)) {
49 | var ffVersionArray = (navigator.userAgent.match(/Firefox\/([\d]+\.[\w]?\.?[\w]+)/));
50 | if (ffVersionArray.length === 2) {
51 | return (convertVersionNumber(ffVersionArray[1]));
52 | }
53 | }
54 | return (null);
55 | }
56 |
57 | function getModel() {
58 | var uaArray = navigator.userAgent.split(/\s*[;)(]\s*/);
59 | if (navigator.userAgent.match(/(mobile|tablet)/i)) {
60 | if (uaArray.length === 5) {
61 | return (uaArray[2]);
62 | }
63 | }
64 | return (null);
65 | }
66 | module.exports = {
67 | getDeviceInfo: function (success, error) {
68 | setTimeout(function () {
69 | success({
70 | cordova: firefoxos.cordovaVersion,
71 | platform: 'firefoxos',
72 | model: getModel(),
73 | version: getVersion(),
74 | uuid: null
75 | });
76 | }, 0);
77 | }
78 | };
79 |
80 | require("cordova/firefoxos/commandProxy").add("Device", module.exports);
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/README.md:
--------------------------------------------------------------------------------
1 | Keyboard
2 | ======
3 |
4 | The `cordova.plugins.Keyboard` object provides functions to make interacting with the keyboard easier, and fires events to indicate that the keyboard will hide/show.
5 |
6 | cordova plugin add https://github.com/driftyco/ionic-plugins-keyboard.git
7 |
8 | Methods
9 | -------
10 |
11 | - cordova.plugins.Keyboard.hideKeyboardAccessoryBar
12 | - cordova.plugins.Keyboard.close
13 | - cordova.plugins.Keyboard.disableScroll
14 |
15 | Properties
16 | --------
17 |
18 | - cordova.plugins.Keyboard.isVisible
19 |
20 | Events
21 | --------
22 |
23 | These events are fired on the window.
24 |
25 | - native.keyboardshow
26 | * A number `keyboardHeight` is given on the event object, which is the pixel height of the keyboard.
27 | - native.keyboardhide
28 |
29 | Permissions
30 | -----------
31 |
32 | #### config.xml
33 |
34 |
49 | * var app = angular.module('app', ['ui.router.compat']);
50 | *
51 | * app.config(function ($routeProvider) {
52 | * $routeProvider.when('home', {
53 | * controller: function () { ... },
54 | * templateUrl: 'path/to/template'
55 | * });
56 | * });
57 | *
58 | *
59 | * @param {string} url URL as string
60 | * @param {object} route Route definition object
61 | *
62 | * @return {object} $routeProvider - $routeProvider instance
63 | */
64 | function when(url, route) {
65 | /*jshint validthis: true */
66 | if (route.redirectTo != null) {
67 | // Redirect, configure directly on $urlRouterProvider
68 | var redirect = route.redirectTo, handler;
69 | if (isString(redirect)) {
70 | handler = redirect; // leave $urlRouterProvider to handle
71 | } else if (isFunction(redirect)) {
72 | // Adapt to $urlRouterProvider API
73 | handler = function (params, $location) {
74 | return redirect(params, $location.path(), $location.search());
75 | };
76 | } else {
77 | throw new Error("Invalid 'redirectTo' in when()");
78 | }
79 | $urlRouterProvider.when(url, handler);
80 | } else {
81 | // Regular route, configure as state
82 | $stateProvider.state(inherit(route, {
83 | parent: null,
84 | name: 'route:' + encodeURIComponent(url),
85 | url: url,
86 | onEnter: onEnterRoute,
87 | onExit: onExitRoute
88 | }));
89 | }
90 | routes.push(route);
91 | return this;
92 | }
93 |
94 | /*
95 | * @ngdoc object
96 | * @name ui.router.compat.$route
97 | *
98 | * @requires ui.router.state.$state
99 | * @requires $rootScope
100 | * @requires $routeParams
101 | *
102 | * @property {object} routes - Array of registered routes.
103 | * @property {object} params - Current route params as object.
104 | * @property {string} current - Name of the current route.
105 | *
106 | * @description
107 | * The `$route` service provides interfaces to access defined routes. It also let's
108 | * you access route params through `$routeParams` service, so you have fully
109 | * control over all the stuff you would actually get from angular's core `$route`
110 | * service.
111 | */
112 | this.$get = $get;
113 | $get.$inject = ['$state', '$rootScope', '$routeParams'];
114 | function $get( $state, $rootScope, $routeParams) {
115 |
116 | var $route = {
117 | routes: routes,
118 | params: $routeParams,
119 | current: undefined
120 | };
121 |
122 | function stateAsRoute(state) {
123 | return (state.name !== '') ? state : undefined;
124 | }
125 |
126 | $rootScope.$on('$stateChangeStart', function (ev, to, toParams, from, fromParams) {
127 | $rootScope.$broadcast('$routeChangeStart', stateAsRoute(to), stateAsRoute(from));
128 | });
129 |
130 | $rootScope.$on('$stateChangeSuccess', function (ev, to, toParams, from, fromParams) {
131 | $route.current = stateAsRoute(to);
132 | $rootScope.$broadcast('$routeChangeSuccess', stateAsRoute(to), stateAsRoute(from));
133 | copy(toParams, $route.params);
134 | });
135 |
136 | $rootScope.$on('$stateChangeError', function (ev, to, toParams, from, fromParams, error) {
137 | $rootScope.$broadcast('$routeChangeError', stateAsRoute(to), stateAsRoute(from), error);
138 | });
139 |
140 | return $route;
141 | }
142 | }
143 |
144 | angular.module('ui.router.compat')
145 | .provider('$route', $RouteProvider)
146 | .directive('ngView', $ViewDirective);
147 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/src/android/Device.java:
--------------------------------------------------------------------------------
1 | /*
2 | Licensed to the Apache Software Foundation (ASF) under one
3 | or more contributor license agreements. See the NOTICE file
4 | distributed with this work for additional information
5 | regarding copyright ownership. The ASF licenses this file
6 | to you under the Apache License, Version 2.0 (the
7 | "License"); you may not use this file except in compliance
8 | with the License. You may obtain a copy of the License at
9 |
10 | http://www.apache.org/licenses/LICENSE-2.0
11 |
12 | Unless required by applicable law or agreed to in writing,
13 | software distributed under the License is distributed on an
14 | "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15 | KIND, either express or implied. See the License for the
16 | specific language governing permissions and limitations
17 | under the License.
18 | */
19 | package org.apache.cordova.device;
20 |
21 | import java.util.TimeZone;
22 |
23 | import org.apache.cordova.CordovaWebView;
24 | import org.apache.cordova.CallbackContext;
25 | import org.apache.cordova.CordovaPlugin;
26 | import org.apache.cordova.CordovaInterface;
27 | import org.json.JSONArray;
28 | import org.json.JSONException;
29 | import org.json.JSONObject;
30 |
31 | import android.provider.Settings;
32 |
33 | public class Device extends CordovaPlugin {
34 | public static final String TAG = "Device";
35 |
36 | public static String platform; // Device OS
37 | public static String uuid; // Device UUID
38 |
39 | private static final String ANDROID_PLATFORM = "Android";
40 | private static final String AMAZON_PLATFORM = "amazon-fireos";
41 | private static final String AMAZON_DEVICE = "Amazon";
42 |
43 | /**
44 | * Constructor.
45 | */
46 | public Device() {
47 | }
48 |
49 | /**
50 | * Sets the context of the Command. This can then be used to do things like
51 | * get file paths associated with the Activity.
52 | *
53 | * @param cordova The context of the main Activity.
54 | * @param webView The CordovaWebView Cordova is running in.
55 | */
56 | public void initialize(CordovaInterface cordova, CordovaWebView webView) {
57 | super.initialize(cordova, webView);
58 | Device.uuid = getUuid();
59 | }
60 |
61 | /**
62 | * Executes the request and returns PluginResult.
63 | *
64 | * @param action The action to execute.
65 | * @param args JSONArry of arguments for the plugin.
66 | * @param callbackContext The callback id used when calling back into JavaScript.
67 | * @return True if the action was valid, false if not.
68 | */
69 | public boolean execute(String action, JSONArray args, CallbackContext callbackContext) throws JSONException {
70 | if (action.equals("getDeviceInfo")) {
71 | JSONObject r = new JSONObject();
72 | r.put("uuid", Device.uuid);
73 | r.put("version", this.getOSVersion());
74 | r.put("platform", this.getPlatform());
75 | r.put("model", this.getModel());
76 | callbackContext.success(r);
77 | }
78 | else {
79 | return false;
80 | }
81 | return true;
82 | }
83 |
84 | //--------------------------------------------------------------------------
85 | // LOCAL METHODS
86 | //--------------------------------------------------------------------------
87 |
88 | /**
89 | * Get the OS name.
90 | *
91 | * @return
92 | */
93 | public String getPlatform() {
94 | String platform;
95 | if (isAmazonDevice()) {
96 | platform = AMAZON_PLATFORM;
97 | } else {
98 | platform = ANDROID_PLATFORM;
99 | }
100 | return platform;
101 | }
102 |
103 | /**
104 | * Get the device's Universally Unique Identifier (UUID).
105 | *
106 | * @return
107 | */
108 | public String getUuid() {
109 | String uuid = Settings.Secure.getString(this.cordova.getActivity().getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
110 | return uuid;
111 | }
112 |
113 | public String getModel() {
114 | String model = android.os.Build.MODEL;
115 | return model;
116 | }
117 |
118 | public String getProductName() {
119 | String productname = android.os.Build.PRODUCT;
120 | return productname;
121 | }
122 |
123 | /**
124 | * Get the OS version.
125 | *
126 | * @return
127 | */
128 | public String getOSVersion() {
129 | String osversion = android.os.Build.VERSION.RELEASE;
130 | return osversion;
131 | }
132 |
133 | public String getSDKVersion() {
134 | @SuppressWarnings("deprecation")
135 | String sdkversion = android.os.Build.VERSION.SDK;
136 | return sdkversion;
137 | }
138 |
139 | public String getTimeZoneID() {
140 | TimeZone tz = TimeZone.getDefault();
141 | return (tz.getID());
142 | }
143 |
144 | /**
145 | * Function to check if the device is manufactured by Amazon
146 | *
147 | * @return
148 | */
149 | public boolean isAmazonDevice() {
150 | if (android.os.Build.MANUFACTURER.equals(AMAZON_DEVICE)) {
151 | return true;
152 | }
153 | return false;
154 | }
155 |
156 | }
157 |
--------------------------------------------------------------------------------
/plugins/org.apache.cordova.device/doc/ko/index.md:
--------------------------------------------------------------------------------
1 |
19 |
20 | # org.apache.cordova.device
21 |
22 | 이 플러그인 정의 전역 `device` 개체, 디바이스의 하드웨어 및 소프트웨어에 설명 합니다. 개체는 전역 범위에서 비록 그것은 후까지 사용할 수 있는 `deviceready` 이벤트.
23 |
24 | document.addEventListener("deviceready", onDeviceReady, false);
25 | function onDeviceReady() {
26 | console.log(device.cordova);
27 | }
28 |
29 |
30 | ## 설치
31 |
32 | cordova plugin add org.apache.cordova.device
33 |
34 |
35 | ## 속성
36 |
37 | * device.cordova
38 | * device.model
39 | * device.name
40 | * device.platform
41 | * device.uuid
42 | * device.version
43 |
44 | ## device.cordova
45 |
46 | 코르도바는 장치에서 실행 중인 버전을 얻을.
47 |
48 | ### 지원 되는 플랫폼
49 |
50 | * 아마존 화재 운영 체제
51 | * 안 드 로이드
52 | * 블랙베리 10
53 | * Firefox 운영 체제
54 | * iOS
55 | * Tizen
56 | * Windows Phone 7과 8
57 | * 윈도우 8
58 |
59 | ## device.model
60 |
61 | `device.model`소자의 모델 또는 제품의 이름을 반환 합니다. 값 장치 제조업체에서 설정 되 고 동일 제품의 버전 간에 다를 수 있습니다.
62 |
63 | ### 지원 되는 플랫폼
64 |
65 | * 안 드 로이드
66 | * 블랙베리 10
67 | * iOS
68 | * Tizen
69 | * Windows Phone 7과 8
70 | * 윈도우 8
71 |
72 | ### 빠른 예제
73 |
74 | / / 안 드 로이드: 넥서스 하나는 "열정" (넥서스 하나의 코드 이름)를 반환 합니다 / 모토로라 Droid 반환 "밭" / / / 블랙베리: 토치 9800 반환 "9800" / / iOS: iPad 미니, 반환 iPad2, 5; 아이폰 5 아이폰 5, 1 이다입니다. Http://theiphonewiki.com/wiki/index.php?title=Models 참조 / / var 모델 = device.model;
75 |
76 |
77 | ### 안 드 로이드 단점
78 |
79 | * 어떤은 종종 프로덕션 코드 이름 대신 [제품 모델 이름][1], [제품 이름][2] 을 가져옵니다. 예를 들어 넥서스 하나 반환 합니다 `Passion` , 모토로라 Droid를 반환 합니다`voles`.
80 |
81 | [1]: http://developer.android.com/reference/android/os/Build.html#MODEL
82 | [2]: http://developer.android.com/reference/android/os/Build.html#PRODUCT
83 |
84 | ### Tizen 특수
85 |
86 | * 예를 들어, 공급 업체에 의해 할당 된 디바이스 모델을 반환 합니다.`TIZEN`
87 |
88 | ### Windows Phone 7, 8 특수
89 |
90 | * 제조업체에서 지정 하는 장치 모델을 반환 합니다. 예를 들어 삼성 포커스를 반환 합니다.`SGH-i917`.
91 |
92 | ## device.name
93 |
94 | **경고**: `device.name` 버전 2.3.0는 사용 되지 않습니다. 사용 `device.model` 대신.
95 |
96 | ## device.platform
97 |
98 | 장치의 운영 체제 이름을 얻을.
99 |
100 | var string = device.platform;
101 |
102 |
103 | ### 지원 되는 플랫폼
104 |
105 | * 안 드 로이드
106 | * 블랙베리 10
107 | * Firefox 운영 체제
108 | * iOS
109 | * Tizen
110 | * Windows Phone 7과 8
111 | * 윈도우 8
112 |
113 | ### 빠른 예제
114 |
115 | // Depending on the device, a few examples are:
116 | // - "Android"
117 | // - "BlackBerry 10"
118 | // - "iOS"
119 | // - "WinCE"
120 | // - "Tizen"
121 | var devicePlatform = device.platform;
122 |
123 |
124 | ### Windows Phone 7 단점
125 |
126 | Windows Phone 7 장치 보고 플랫폼으로`WinCE`.
127 |
128 | ### Windows Phone 8 단점
129 |
130 | Windows Phone 8 장치 보고 플랫폼으로`Win32NT`.
131 |
132 | ## device.uuid
133 |
134 | 소자의 보편적으로 고유 식별자 ([UUID][3] 를 얻을합니다).
135 |
136 | [3]: http://en.wikipedia.org/wiki/Universally_Unique_Identifier
137 |
138 | var string = device.uuid;
139 |
140 |
141 | ### 설명
142 |
143 | UUID 생성 방법의 자세한 내용은 장치 제조업체에 의해 결정 됩니다 및 소자의 플랫폼 이나 모델.
144 |
145 | ### 지원 되는 플랫폼
146 |
147 | * 안 드 로이드
148 | * 블랙베리 10
149 | * iOS
150 | * Tizen
151 | * Windows Phone 7과 8
152 | * 윈도우 8
153 |
154 | ### 빠른 예제
155 |
156 | / / 안 드 로이드: (문자열로 다시!) 임의의 64 비트 정수를 반환 합니다 / / 정수 장치의 첫 번째 부팅에서 생성 / / / / 블랙베리: 디바이스의 핀 번호를 반환 합니다 / / 이것은 9 자리 고유 정수 (문자열로 비록!) / / / / 아이폰: (UIDevice 클래스 설명서에서 읊 었) / / 문자열 여러 하드웨어에서 생성 하는 해시 값을 식별 하는 반환 합니다.
157 | / 그것은 모든 장치에 대 한 고유 해야 보장 되 고 묶일 수 없습니다 / / / 사용자 계정에.
158 | / / Windows Phone 7: 장치 + 현재 사용자의 해시를 반환 합니다 / / 사용자 정의 되지 않은 경우 guid 생성 되 고 응용 프로그램을 제거할 때까지 유지 됩니다 / / Tizen: 반환 장치 IMEI (국제 모바일 기기 식별 또는 IMEI 숫자입니다 / / 모든 GSM와 UMTS 휴대 전화 고유.
159 | var deviceID = device.uuid;
160 |
161 |
162 | ### iOS 특질
163 |
164 | `uuid`ios 장치에 고유 하지 않습니다 하지만 각 설치에 대 한 응용 프로그램 마다 다릅니다. 삭제 하 고 다시 애플 리 케이 션을 설치 하는 경우 변경 가능 하 게 또한 iOS를 업그레이드 하거나 때 버전 (iOS 5.1에에서 명백한) 당 응용 프로그램 업그레이드도 하 고. `uuid`은 신뢰할 수 있는 값이 아닙니다.
165 |
166 | ### Windows Phone 7, 8 특수
167 |
168 | `uuid`Windows Phone 7 필요 허가 `ID_CAP_IDENTITY_DEVICE` . Microsoft는 곧이 속성을 세웁니다 가능성이 것입니다. 기능을 사용할 수 없는 경우 응용 프로그램 장치에 응용 프로그램의 설치 하는 동안 유지 하는 영구 guid를 생성 합니다.
169 |
170 | ## device.version
171 |
172 | 운영 체제 버전을 얻을.
173 |
174 | var string = device.version;
175 |
176 |
177 | ### 지원 되는 플랫폼
178 |
179 | * 안 드 로이드 2.1 +
180 | * 블랙베리 10
181 | * iOS
182 | * Tizen
183 | * Windows Phone 7과 8
184 | * 윈도우 8
185 |
186 | ### 빠른 예제
187 |
188 | / / 안 드 로이드: Froyo OS "2.2" 반환 / Eclair OS "2.1", "2.0.1", 또는 "2.0" 돌려보낼 것입니다 / / 버전 반환할 수 있습니다 / 업데이트 수준 "2.1 update1" / / / / 블랙베리: 토치 9800 OS 6.0을 사용 하 여 "6.0.0.600"를 반환 / / / / 아이폰: iOS 3.2 반환 "3.2" / / / / Windows Phone 7: 전 현재 운영 체제 버전 번호를 반환 합니다. on Mango returns 7.10.7720
189 | // Tizen: returns "TIZEN_20120425_2"
190 | var deviceVersion = device.version;
--------------------------------------------------------------------------------
/plugins/com.ionic.keyboard/src/ios/IonicKeyboard.m:
--------------------------------------------------------------------------------
1 | #import "IonicKeyboard.h"
2 | #import "UIWebViewExtension.h"
3 | #import