[
https://issues.apache.org/jira/browse/CB-9033?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16602696#comment-16602696
]
ASF GitHub Bot commented on CB-9033:
------------------------------------
raphinesse closed pull request #219: CB-9033 : fix WatchKit support
URL: https://github.com/apache/cordova-lib/pull/219
This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:
As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):
diff --git a/cordova-lib/spec-plugman/platforms/ios.spec.js
b/cordova-lib/spec-plugman/platforms/ios.spec.js
index b1ead60b6..d7e20ef07 100644
--- a/cordova-lib/spec-plugman/platforms/ios.spec.js
+++ b/cordova-lib/spec-plugman/platforms/ios.spec.js
@@ -28,6 +28,7 @@ var ios = require('../../src/plugman/platforms/ios'),
temp = path.join(os.tmpdir(), 'plugman'),
plugins_dir = path.join(temp, 'cordova', 'plugins'),
ios_config_xml_project = path.join(__dirname, '..', 'projects',
'ios-config-xml', '*'),
+ ios_apple_watch_project = path.join(__dirname, '..', 'projects',
'ios-apple-watch', '*'),
ios_project = path.join(ios_config_xml_project, '..'),
faultyplugin = path.join(__dirname, '..', 'plugins',
'org.test.plugins.faultyplugin'),
dummyplugin = path.join(__dirname, '..', 'plugins',
'org.test.plugins.dummyplugin'),
@@ -163,13 +164,13 @@ describe('ios project handler', function() {
var source = copyArray(valid_source).filter(function(s) {
return s.targetDir === undefined; });
var spy = spyOn(proj_files.xcode, 'addSourceFile');
ios['source-file'].install(source[0], dummyplugin, temp,
dummy_id, null, proj_files);
- expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'DummyPluginCommand.m'), {});
+ expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'DummyPluginCommand.m'),{ target:'571A463A14DB0A1B007FEAC7'});
});
it('should call into xcodeproj\'s addSourceFile appropriately when
element has a target-dir', function() {
var source = copyArray(valid_source).filter(function(s) {
return s.targetDir !== undefined; });
var spy = spyOn(proj_files.xcode, 'addSourceFile');
ios['source-file'].install(source[0], dummyplugin, temp,
dummy_id, null, proj_files);
- expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'targetDir', 'TargetDirTest.m'), {});
+ expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'targetDir', 'TargetDirTest.m'), {
target:'571A463A14DB0A1B007FEAC7'});
});
it('should cp the file to the right target location when element
has no target-dir', function() {
var source = copyArray(valid_source).filter(function(s) {
return s.targetDir === undefined; });
@@ -188,7 +189,7 @@ describe('ios project handler', function() {
spyOn(proj_files.xcode, 'addSourceFile');
var spy = spyOn(proj_files.xcode, 'addFramework');
ios['source-file'].install(source[0], dummyplugin, temp,
dummy_id, null, proj_files);
- expect(spy).toHaveBeenCalledWith(path.join('SampleApp',
'Plugins', dummy_id, 'SourceWithFramework.m'), {weak:false});
+ expect(spy).toHaveBeenCalledWith(path.join('SampleApp',
'Plugins', dummy_id, 'SourceWithFramework.m'),
{weak:false,target:'571A463A14DB0A1B007FEAC7'});
});
});
@@ -254,7 +255,7 @@ describe('ios project handler', function() {
var resources = copyArray(valid_resources);
var spy = spyOn(proj_files.xcode, 'addResourceFile');
ios['resource-file'].install(resources[0], dummyplugin, temp,
'pluginid', null, proj_files);
- expect(spy).toHaveBeenCalledWith(path.join('Resources',
'DummyPlugin.bundle'));
+ expect(spy).toHaveBeenCalledWith(path.join('Resources',
'DummyPlugin.bundle'),{target: '571A463A14DB0A1B007FEAC7'});
});
it('should cp the file to the right target location', function() {
var resources = copyArray(valid_resources);
@@ -269,7 +270,7 @@ describe('ios project handler', function() {
var frameworks = copyArray(valid_custom_frameworks);
var spy = spyOn(proj_files.xcode, 'addFramework');
ios['framework'].install(frameworks[0], dummyplugin, temp,
dummy_id, null, proj_files);
-
expect(spy).toHaveBeenCalledWith(path.normalize('SampleApp/Plugins/org.test.plugins.dummyplugin/Custom.framework'),
{customFramework:true});
+
expect(spy).toHaveBeenCalledWith(path.normalize('SampleApp/Plugins/org.test.plugins.dummyplugin/Custom.framework'),
{customFramework:true,target:'571A463A14DB0A1B007FEAC7'});
});
// TODO: Add more tests to cover the cases:
@@ -333,14 +334,14 @@ describe('ios project handler', function() {
shell.cp('-rf', ios_config_xml_project, temp);
var spy = spyOn(proj_files.xcode, 'removeSourceFile');
ios['source-file'].uninstall(source[0], temp, dummy_id, null,
proj_files);
- expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'DummyPluginCommand.m'));
+ expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'DummyPluginCommand.m'),{target: '571A463A14DB0A1B007FEAC7'});
});
it('should call into xcodeproj\'s removeSourceFile appropriately
when element a target-dir', function(){
var source = copyArray(valid_source).filter(function(s) {
return s.targetDir !== undefined; });
shell.cp('-rf', ios_config_xml_project, temp);
var spy = spyOn(proj_files.xcode, 'removeSourceFile');
ios['source-file'].uninstall(source[0], temp, dummy_id, null,
proj_files);
- expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'targetDir', 'TargetDirTest.m'));
+ expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'targetDir', 'TargetDirTest.m'),{target: '571A463A14DB0A1B007FEAC7'});
});
it('should rm the file from the right target location when element
has no target-dir', function(){
var source = copyArray(valid_source).filter(function(s) {
return s.targetDir === undefined; });
@@ -364,7 +365,7 @@ describe('ios project handler', function() {
var spy = spyOn(proj_files.xcode, 'removeFramework');
ios['source-file'].uninstall(source[0], temp, dummy_id, null,
proj_files);
- expect(spy).toHaveBeenCalledWith(path.join('SampleApp',
'Plugins', dummy_id, 'SourceWithFramework.m'));
+ expect(spy).toHaveBeenCalledWith(path.join('SampleApp',
'Plugins', dummy_id, 'SourceWithFramework.m'),{target:
'571A463A14DB0A1B007FEAC7'});
});
});
@@ -405,7 +406,7 @@ describe('ios project handler', function() {
var spy = spyOn(proj_files.xcode, 'removeResourceFile');
ios['resource-file'].uninstall(resources[0], temp, 'pluginid',
null, proj_files);
- expect(spy).toHaveBeenCalledWith(path.join('Resources',
'DummyPlugin.bundle'));
+ expect(spy).toHaveBeenCalledWith(path.join('Resources',
'DummyPlugin.bundle'),{target:'571A463A14DB0A1B007FEAC7'});
});
it('should rm the file from the right target location', function(){
var resources = copyArray(valid_resources);
@@ -425,7 +426,7 @@ describe('ios project handler', function() {
var spy = spyOn(proj_files.xcode, 'removeFramework');
ios['framework'].uninstall(frameworks[0], temp, dummy_id,
null, proj_files);
- expect(spy).toHaveBeenCalledWith(path.join(temp,
'SampleApp/Plugins/org.test.plugins.dummyplugin/Custom.framework'),
{customFramework:true});
+ expect(spy).toHaveBeenCalledWith(path.join(temp,
'SampleApp/Plugins/org.test.plugins.dummyplugin/Custom.framework'),
{customFramework:true,target:'571A463A14DB0A1B007FEAC7'});
});
// TODO: Add more tests to cover the cases:
@@ -442,5 +443,21 @@ describe('ios project handler', function() {
});
});
});
+ describe('apple watch test', function() {
+ beforeEach(function() {
+ shell.cp('-rf', ios_apple_watch_project, temp);
+ });
+ it('should find the application target (and not the watchkit
extension/app)', function() {
+
+ var project = ios.parseProjectFile(temp);
+ expect(project.target).toEqual('1D6058900D05DD3D006BFB54');
+
+ var source = copyArray(valid_source).filter(function(s) {
return s.targetDir === undefined; });
+ var spy = spyOn(proj_files.xcode, 'addSourceFile');
+ ios['source-file'].install(source[0], dummyplugin, temp,
dummy_id, null, proj_files);
+ expect(spy).toHaveBeenCalledWith(slashJoin('Plugins',
dummy_id, 'DummyPluginCommand.m'), {target:'571A463A14DB0A1B007FEAC7'});
+
+ });
+ });
});
});
diff --git
a/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch.xcodeproj/project.pbxproj
b/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch.xcodeproj/project.pbxproj
new file mode 100644
index 000000000..3bd5369f3
--- /dev/null
+++
b/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch.xcodeproj/project.pbxproj
@@ -0,0 +1,913 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 09F56C541B0D453700118BA7 /* InterfaceController.m in Sources */
= {isa = PBXBuildFile; fileRef = 09F56C531B0D453700118BA7 /*
InterfaceController.m */; };
+ 09F56C571B0D453700118BA7 /* NotificationController.m in Sources
*/ = {isa = PBXBuildFile; fileRef = 09F56C561B0D453700118BA7 /*
NotificationController.m */; };
+ 09F56C591B0D453700118BA7 /* Images.xcassets in Resources */ =
{isa = PBXBuildFile; fileRef = 09F56C581B0D453700118BA7 /* Images.xcassets */;
};
+ 09F56C5D1B0D453700118BA7 /* AppleWatch WatchKit App.app in
Resources */ = {isa = PBXBuildFile; fileRef = 09F56C5C1B0D453700118BA7 /*
AppleWatch WatchKit App.app */; };
+ 09F56C651B0D453700118BA7 /* Interface.storyboard in Resources
*/ = {isa = PBXBuildFile; fileRef = 09F56C631B0D453700118BA7 /*
Interface.storyboard */; };
+ 09F56C671B0D453700118BA7 /* Images.xcassets in Resources */ =
{isa = PBXBuildFile; fileRef = 09F56C661B0D453700118BA7 /* Images.xcassets */;
};
+ 09F56C6A1B0D453700118BA7 /* AppleWatch WatchKit Extension.appex
in Embed App Extensions */ = {isa = PBXBuildFile; fileRef =
09F56C4D1B0D453700118BA7 /* AppleWatch WatchKit Extension.appex */; settings =
{ATTRIBUTES = (RemoveHeadersOnCopy, ); }; };
+ 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 */; };
+ 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 */; };
+ 305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in
Frameworks */ = {isa = PBXBuildFile; fileRef = 305D5FD0115AB8F900A74A75 /*
MobileCoreServices.framework */; };
+ 3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in
Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB7154F3926009F9C59 /*
Default-Landscape@2x~ipad.png */; };
+ 3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in
Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB8154F3926009F9C59 /*
Default-Landscape~ipad.png */; };
+ 3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in
Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB9154F3926009F9C59 /*
Default-Portrait@2x~ipad.png */; };
+ 3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in
Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBA154F3926009F9C59 /*
Default-Portrait~ipad.png */; };
+ 3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources
*/ = {isa = PBXBuildFile; fileRef = 3088BBBB154F3926009F9C59 /*
Default@2x~iphone.png */; };
+ 3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */
= {isa = PBXBuildFile; fileRef = 3088BBBC154F3926009F9C59 /* Default~iphone.png
*/; };
+ 308D05371370CCF300D202BF /* icon-72.png in Resources */ = {isa
= PBXBuildFile; fileRef = 308D052E1370CCF300D202BF /* icon-72.png */; };
+ 308D05381370CCF300D202BF /* icon.png in Resources */ = {isa =
PBXBuildFile; fileRef = 308D052F1370CCF300D202BF /* icon.png */; };
+ 308D05391370CCF300D202BF /* [email protected] in Resources */ = {isa
= PBXBuildFile; fileRef = 308D05301370CCF300D202BF /* [email protected] */; };
+ 30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */ =
{isa = PBXBuildFile; fileRef = 30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */;
};
+ 30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */ =
{isa = PBXBuildFile; fileRef = 30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */;
};
+ 30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in
Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FF19D5E07200D9F7D8 /*
Default-Landscape-736h.png */; };
+ 30C1856619D5FC0A00212699 /* [email protected] in Resources */ =
{isa = PBXBuildFile; fileRef = 30C1856519D5FC0A00212699 /* [email protected] */; };
+ 30FC414916E50CA1004E6F35 /* [email protected] in Resources */ =
{isa = PBXBuildFile; fileRef = 30FC414816E50CA1004E6F35 /* [email protected] */; };
+ 5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in
Frameworks */ = {isa = PBXBuildFile; fileRef = 5B1594DC16A7569C00FEF299 /*
AssetsLibrary.framework */; };
+ 7E7966DE1810823500FA85AD /* icon-40.png in Resources */ = {isa
= PBXBuildFile; fileRef = 7E7966D41810823500FA85AD /* icon-40.png */; };
+ 7E7966DF1810823500FA85AD /* [email protected] in Resources */ =
{isa = PBXBuildFile; fileRef = 7E7966D51810823500FA85AD /* [email protected] */; };
+ 7E7966E01810823500FA85AD /* icon-50.png in Resources */ = {isa
= PBXBuildFile; fileRef = 7E7966D61810823500FA85AD /* icon-50.png */; };
+ 7E7966E11810823500FA85AD /* [email protected] in Resources */ =
{isa = PBXBuildFile; fileRef = 7E7966D71810823500FA85AD /* [email protected] */; };
+ 7E7966E21810823500FA85AD /* icon-60.png in Resources */ = {isa
= PBXBuildFile; fileRef = 7E7966D81810823500FA85AD /* icon-60.png */; };
+ 7E7966E31810823500FA85AD /* [email protected] in Resources */ =
{isa = PBXBuildFile; fileRef = 7E7966D91810823500FA85AD /* [email protected] */; };
+ 7E7966E41810823500FA85AD /* icon-76.png in Resources */ = {isa
= PBXBuildFile; fileRef = 7E7966DA1810823500FA85AD /* icon-76.png */; };
+ 7E7966E51810823500FA85AD /* [email protected] in Resources */ =
{isa = PBXBuildFile; fileRef = 7E7966DB1810823500FA85AD /* [email protected] */; };
+ 7E7966E61810823500FA85AD /* icon-small.png in Resources */ =
{isa = PBXBuildFile; fileRef = 7E7966DC1810823500FA85AD /* icon-small.png */; };
+ 7E7966E71810823500FA85AD /* [email protected] in Resources */ =
{isa = PBXBuildFile; fileRef = 7E7966DD1810823500FA85AD /* [email protected]
*/; };
+ D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in
Resources */ = {isa = PBXBuildFile; fileRef = D4A0D8751607E02300AEF8BB /*
Default-568h@2x~iphone.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+ 09F56C5E1B0D453700118BA7 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project
object */;
+ proxyType = 1;
+ remoteGlobalIDString = 09F56C5B1B0D453700118BA7;
+ remoteInfo = "AppleWatch WatchKit App";
+ };
+ 09F56C681B0D453700118BA7 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 29B97313FDCFA39411CA2CEA /* Project
object */;
+ proxyType = 1;
+ remoteGlobalIDString = 09F56C4C1B0D453700118BA7;
+ remoteInfo = "AppleWatch WatchKit Extension";
+ };
+ 301BF534109A57CC0062928A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 301BF52D109A57CC0062928A /*
CordovaLib.xcodeproj */;
+ proxyType = 2;
+ remoteGlobalIDString = D2AAC07E0554694100DB518D;
+ remoteInfo = CordovaLib;
+ };
+ 301BF550109A68C00062928A /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = 301BF52D109A57CC0062928A /*
CordovaLib.xcodeproj */;
+ proxyType = 1;
+ remoteGlobalIDString = D2AAC07D0554694100DB518D;
+ remoteInfo = CordovaLib;
+ };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 09F56C711B0D453700118BA7 /* Embed App Extensions */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 13;
+ files = (
+ 09F56C6A1B0D453700118BA7 /* AppleWatch WatchKit
Extension.appex in Embed App Extensions */,
+ );
+ name = "Embed App Extensions";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 09F56C4D1B0D453700118BA7 /* AppleWatch WatchKit Extension.appex
*/ = {isa = PBXFileReference; explicitFileType = "wrapper.app-extension";
includeInIndex = 0; path = "AppleWatch WatchKit Extension.appex"; sourceTree =
BUILT_PRODUCTS_DIR; };
+ 09F56C501B0D453700118BA7 /* Info.plist */ = {isa =
PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist;
sourceTree = "<group>"; };
+ 09F56C511B0D453700118BA7 /* PushNotificationPayload.apns */ =
{isa = PBXFileReference; lastKnownFileType = text; path =
PushNotificationPayload.apns; sourceTree = "<group>"; };
+ 09F56C521B0D453700118BA7 /* InterfaceController.h */ = {isa =
PBXFileReference; lastKnownFileType = sourcecode.c.h; path =
InterfaceController.h; sourceTree = "<group>"; };
+ 09F56C531B0D453700118BA7 /* InterfaceController.m */ = {isa =
PBXFileReference; lastKnownFileType = sourcecode.c.objc; path =
InterfaceController.m; sourceTree = "<group>"; };
+ 09F56C551B0D453700118BA7 /* NotificationController.h */ = {isa
= PBXFileReference; lastKnownFileType = sourcecode.c.h; path =
NotificationController.h; sourceTree = "<group>"; };
+ 09F56C561B0D453700118BA7 /* NotificationController.m */ = {isa
= PBXFileReference; lastKnownFileType = sourcecode.c.objc; path =
NotificationController.m; sourceTree = "<group>"; };
+ 09F56C581B0D453700118BA7 /* Images.xcassets */ = {isa =
PBXFileReference; lastKnownFileType = folder.assetcatalog; path =
Images.xcassets; sourceTree = "<group>"; };
+ 09F56C5C1B0D453700118BA7 /* AppleWatch WatchKit App.app */ =
{isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex
= 0; path = "AppleWatch WatchKit App.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 09F56C621B0D453700118BA7 /* Info.plist */ = {isa =
PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist;
sourceTree = "<group>"; };
+ 09F56C641B0D453700118BA7 /* Base */ = {isa = PBXFileReference;
lastKnownFileType = file.storyboard; name = Base; path =
Base.lproj/Interface.storyboard; sourceTree = "<group>"; };
+ 09F56C661B0D453700118BA7 /* Images.xcassets */ = {isa =
PBXFileReference; lastKnownFileType = folder.assetcatalog; path =
Images.xcassets; 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 /* AppleWatch.app */ = {isa =
PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0;
path = AppleWatch.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 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>"; };
+ 301BF56E109A69640062928A /* www */ = {isa = PBXFileReference;
lastKnownFileType = folder; path = www; sourceTree = SOURCE_ROOT; };
+ 302D95EE14D2391D003F00A1 /* MainViewController.h */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path =
MainViewController.h; sourceTree = "<group>"; };
+ 302D95EF14D2391D003F00A1 /* MainViewController.m */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path
= MainViewController.m; sourceTree = "<group>"; };
+ 302D95F014D2391D003F00A1 /* MainViewController.xib */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path =
MainViewController.xib; sourceTree = "<group>"; };
+ 305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */ =
{isa = PBXFileReference; lastKnownFileType = wrapper.framework; name =
MobileCoreServices.framework; path =
System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+ 3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */ =
{isa = PBXFileReference; lastKnownFileType = image.png; path =
"Default-Landscape@2x~ipad.png"; sourceTree = "<group>"; };
+ 3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */ =
{isa = PBXFileReference; lastKnownFileType = image.png; path =
"Default-Landscape~ipad.png"; sourceTree = "<group>"; };
+ 3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */ =
{isa = PBXFileReference; lastKnownFileType = image.png; path =
"Default-Portrait@2x~ipad.png"; sourceTree = "<group>"; };
+ 3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */ = {isa
= PBXFileReference; lastKnownFileType = image.png; path =
"Default-Portrait~ipad.png"; sourceTree = "<group>"; };
+ 3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path =
"Default@2x~iphone.png"; sourceTree = "<group>"; };
+ 3088BBBC154F3926009F9C59 /* Default~iphone.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "Default~iphone.png";
sourceTree = "<group>"; };
+ 308D052E1370CCF300D202BF /* icon-72.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "icon-72.png";
sourceTree = "<group>"; };
+ 308D052F1370CCF300D202BF /* icon.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree =
"<group>"; };
+ 308D05301370CCF300D202BF /* [email protected] */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "[email protected]";
sourceTree = "<group>"; };
+ 30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "Default-667h.png";
sourceTree = "<group>"; };
+ 30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "Default-736h.png";
sourceTree = "<group>"; };
+ 30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */ =
{isa = PBXFileReference; lastKnownFileType = image.png; path =
"Default-Landscape-736h.png"; sourceTree = "<group>"; };
+ 30C1856519D5FC0A00212699 /* [email protected] */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "[email protected]";
sourceTree = "<group>"; };
+ 30FC414816E50CA1004E6F35 /* [email protected] */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "[email protected]";
sourceTree = "<group>"; };
+ 32CA4F630368D1EE00C91783 /* AppleWatch-Prefix.pch */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path =
"AppleWatch-Prefix.pch"; sourceTree = "<group>"; };
+ 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */ = {isa =
PBXFileReference; lastKnownFileType = wrapper.framework; name =
AssetsLibrary.framework; path =
System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
+ 7E7966D41810823500FA85AD /* icon-40.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "icon-40.png";
sourceTree = "<group>"; };
+ 7E7966D51810823500FA85AD /* [email protected] */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "[email protected]";
sourceTree = "<group>"; };
+ 7E7966D61810823500FA85AD /* icon-50.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "icon-50.png";
sourceTree = "<group>"; };
+ 7E7966D71810823500FA85AD /* [email protected] */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "[email protected]";
sourceTree = "<group>"; };
+ 7E7966D81810823500FA85AD /* icon-60.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "icon-60.png";
sourceTree = "<group>"; };
+ 7E7966D91810823500FA85AD /* [email protected] */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "[email protected]";
sourceTree = "<group>"; };
+ 7E7966DA1810823500FA85AD /* icon-76.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "icon-76.png";
sourceTree = "<group>"; };
+ 7E7966DB1810823500FA85AD /* [email protected] */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "[email protected]";
sourceTree = "<group>"; };
+ 7E7966DC1810823500FA85AD /* icon-small.png */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "icon-small.png";
sourceTree = "<group>"; };
+ 7E7966DD1810823500FA85AD /* [email protected] */ = {isa =
PBXFileReference; lastKnownFileType = image.png; path = "[email protected]";
sourceTree = "<group>"; };
+ 8D1107310486CEB800E47090 /* AppleWatch-Info.plist */ = {isa =
PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name =
"AppleWatch-Info.plist"; path = "../AppleWatch-Info.plist";
plistStructureDefinitionIdentifier =
"com.apple.xcode.plist.structure-definition.iphone.info-plist"; 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 =
AppleWatch/config.xml; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 09F56C4A1B0D453700118BA7 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 5B1594DD16A7569C00FEF299 /*
AssetsLibrary.framework in Frameworks */,
+ 301BF552109A68D80062928A /* libCordova.a in
Frameworks */,
+ 288765FD0DF74451002DB57D /*
CoreGraphics.framework in Frameworks */,
+ 305D5FD1115AB8F900A74A75 /*
MobileCoreServices.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 080E96DDFE201D6D7F000001 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ 302D95EE14D2391D003F00A1 /*
MainViewController.h */,
+ 302D95EF14D2391D003F00A1 /*
MainViewController.m */,
+ 302D95F014D2391D003F00A1 /*
MainViewController.xib */,
+ 1D3623240D0F684500981E51 /* AppDelegate.h */,
+ 1D3623250D0F684500981E51 /* AppDelegate.m */,
+ );
+ name = Classes;
+ path = AppleWatch/Classes;
+ sourceTree = SOURCE_ROOT;
+ };
+ 09F56C4E1B0D453700118BA7 /* AppleWatch WatchKit Extension */ = {
+ isa = PBXGroup;
+ children = (
+ 09F56C521B0D453700118BA7 /*
InterfaceController.h */,
+ 09F56C531B0D453700118BA7 /*
InterfaceController.m */,
+ 09F56C551B0D453700118BA7 /*
NotificationController.h */,
+ 09F56C561B0D453700118BA7 /*
NotificationController.m */,
+ 09F56C581B0D453700118BA7 /* Images.xcassets */,
+ 09F56C4F1B0D453700118BA7 /* Supporting Files */,
+ );
+ path = "AppleWatch WatchKit Extension";
+ sourceTree = "<group>";
+ };
+ 09F56C4F1B0D453700118BA7 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 09F56C501B0D453700118BA7 /* Info.plist */,
+ 09F56C511B0D453700118BA7 /*
PushNotificationPayload.apns */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ 09F56C601B0D453700118BA7 /* AppleWatch WatchKit App */ = {
+ isa = PBXGroup;
+ children = (
+ 09F56C631B0D453700118BA7 /*
Interface.storyboard */,
+ 09F56C661B0D453700118BA7 /* Images.xcassets */,
+ 09F56C611B0D453700118BA7 /* Supporting Files */,
+ );
+ path = "AppleWatch WatchKit App";
+ sourceTree = "<group>";
+ };
+ 09F56C611B0D453700118BA7 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 09F56C621B0D453700118BA7 /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ 19C28FACFE9D520D11CA2CBB /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 1D6058910D05DD3D006BFB54 /* AppleWatch.app */,
+ 09F56C4D1B0D453700118BA7 /* AppleWatch WatchKit
Extension.appex */,
+ 09F56C5C1B0D453700118BA7 /* AppleWatch WatchKit
App.app */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+ isa = PBXGroup;
+ children = (
+ EB87FDF41871DAF40020F90C /* config.xml */,
+ EB87FDF31871DA8E0020F90C /* www */,
+ EB87FDF21871DA7A0020F90C /* merges */,
+ EB87FDF11871DA420020F90C /* Staging */,
+ 301BF52D109A57CC0062928A /*
CordovaLib.xcodeproj */,
+ 080E96DDFE201D6D7F000001 /* Classes */,
+ 307C750510C5A3420062BCA9 /* Plugins */,
+ 29B97315FDCFA39411CA2CEA /* Other Sources */,
+ 29B97317FDCFA39411CA2CEA /* Resources */,
+ 09F56C4E1B0D453700118BA7 /* AppleWatch WatchKit
Extension */,
+ 09F56C601B0D453700118BA7 /* AppleWatch WatchKit
App */,
+ 29B97323FDCFA39411CA2CEA /* Frameworks */,
+ 19C28FACFE9D520D11CA2CBB /* Products */,
+ );
+ name = CustomTemplate;
+ sourceTree = "<group>";
+ };
+ 29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 32CA4F630368D1EE00C91783 /*
AppleWatch-Prefix.pch */,
+ 29B97316FDCFA39411CA2CEA /* main.m */,
+ );
+ name = "Other Sources";
+ path = AppleWatch;
+ sourceTree = "<group>";
+ };
+ 29B97317FDCFA39411CA2CEA /* Resources */ = {
+ isa = PBXGroup;
+ children = (
+ 308D052D1370CCF300D202BF /* icons */,
+ 308D05311370CCF300D202BF /* splash */,
+ 8D1107310486CEB800E47090 /*
AppleWatch-Info.plist */,
+ );
+ name = Resources;
+ path = AppleWatch/Resources;
+ sourceTree = "<group>";
+ };
+ 29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 5B1594DC16A7569C00FEF299 /*
AssetsLibrary.framework */,
+ 288765FC0DF74451002DB57D /*
CoreGraphics.framework */,
+ 305D5FD0115AB8F900A74A75 /*
MobileCoreServices.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 301BF52E109A57CC0062928A /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 301BF535109A57CC0062928A /* libCordova.a */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 307C750510C5A3420062BCA9 /* Plugins */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Plugins;
+ path = AppleWatch/Plugins;
+ sourceTree = SOURCE_ROOT;
+ };
+ 308D052D1370CCF300D202BF /* icons */ = {
+ isa = PBXGroup;
+ children = (
+ 30C1856519D5FC0A00212699 /* [email protected] */,
+ 7E7966D41810823500FA85AD /* icon-40.png */,
+ 7E7966D51810823500FA85AD /* [email protected] */,
+ 7E7966D61810823500FA85AD /* icon-50.png */,
+ 7E7966D71810823500FA85AD /* [email protected] */,
+ 7E7966D81810823500FA85AD /* icon-60.png */,
+ 7E7966D91810823500FA85AD /* [email protected] */,
+ 7E7966DA1810823500FA85AD /* icon-76.png */,
+ 7E7966DB1810823500FA85AD /* [email protected] */,
+ 7E7966DC1810823500FA85AD /* icon-small.png */,
+ 7E7966DD1810823500FA85AD /* [email protected]
*/,
+ 30FC414816E50CA1004E6F35 /* [email protected] */,
+ 308D052E1370CCF300D202BF /* icon-72.png */,
+ 308D052F1370CCF300D202BF /* icon.png */,
+ 308D05301370CCF300D202BF /* [email protected] */,
+ );
+ path = icons;
+ sourceTree = "<group>";
+ };
+ 308D05311370CCF300D202BF /* splash */ = {
+ isa = PBXGroup;
+ children = (
+ 30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */,
+ 30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */,
+ 30B4F2FF19D5E07200D9F7D8 /*
Default-Landscape-736h.png */,
+ D4A0D8751607E02300AEF8BB /*
Default-568h@2x~iphone.png */,
+ 3088BBB7154F3926009F9C59 /*
Default-Landscape@2x~ipad.png */,
+ 3088BBB8154F3926009F9C59 /*
Default-Landscape~ipad.png */,
+ 3088BBB9154F3926009F9C59 /*
Default-Portrait@2x~ipad.png */,
+ 3088BBBA154F3926009F9C59 /*
Default-Portrait~ipad.png */,
+ 3088BBBB154F3926009F9C59 /*
Default@2x~iphone.png */,
+ 3088BBBC154F3926009F9C59 /* Default~iphone.png
*/,
+ );
+ path = splash;
+ sourceTree = "<group>";
+ };
+ EB87FDF11871DA420020F90C /* Staging */ = {
+ isa = PBXGroup;
+ children = (
+ F840E1F0165FE0F500CFE078 /* config.xml */,
+ 301BF56E109A69640062928A /* www */,
+ );
+ name = Staging;
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 09F56C4C1B0D453700118BA7 /* AppleWatch WatchKit Extension */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 09F56C701B0D453700118BA7 /*
Build configuration list for PBXNativeTarget "AppleWatch WatchKit Extension" */;
+ buildPhases = (
+ 09F56C491B0D453700118BA7 /* Sources */,
+ 09F56C4A1B0D453700118BA7 /* Frameworks */,
+ 09F56C4B1B0D453700118BA7 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 09F56C5F1B0D453700118BA7 /* PBXTargetDependency
*/,
+ );
+ name = "AppleWatch WatchKit Extension";
+ productName = "AppleWatch WatchKit Extension";
+ productReference = 09F56C4D1B0D453700118BA7 /*
AppleWatch WatchKit Extension.appex */;
+ productType =
"com.apple.product-type.watchkit-extension";
+ };
+ 09F56C5B1B0D453700118BA7 /* AppleWatch WatchKit App */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 09F56C6F1B0D453700118BA7 /*
Build configuration list for PBXNativeTarget "AppleWatch WatchKit App" */;
+ buildPhases = (
+ 09F56C5A1B0D453700118BA7 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = "AppleWatch WatchKit App";
+ productName = "AppleWatch WatchKit App";
+ productReference = 09F56C5C1B0D453700118BA7 /*
AppleWatch WatchKit App.app */;
+ productType =
"com.apple.product-type.application.watchapp";
+ };
+ 1D6058900D05DD3D006BFB54 /* AppleWatch */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1D6058960D05DD3E006BFB54 /*
Build configuration list for PBXNativeTarget "AppleWatch" */;
+ buildPhases = (
+ 304B58A110DAC018002A0835 /* Copy www directory
*/,
+ 1D60588D0D05DD3D006BFB54 /* Resources */,
+ 1D60588E0D05DD3D006BFB54 /* Sources */,
+ 1D60588F0D05DD3D006BFB54 /* Frameworks */,
+ 09F56C711B0D453700118BA7 /* Embed App
Extensions */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ 301BF551109A68C00062928A /* PBXTargetDependency
*/,
+ 09F56C691B0D453700118BA7 /* PBXTargetDependency
*/,
+ );
+ name = AppleWatch;
+ productName = AppleWatch;
+ productReference = 1D6058910D05DD3D006BFB54 /*
AppleWatch.app */;
+ productType = "com.apple.product-type.application";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 29B97313FDCFA39411CA2CEA /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 510;
+ TargetAttributes = {
+ 09F56C4C1B0D453700118BA7 = {
+ CreatedOnToolsVersion = 6.3.2;
+ };
+ 09F56C5B1B0D453700118BA7 = {
+ CreatedOnToolsVersion = 6.3.2;
+ };
+ };
+ };
+ buildConfigurationList = C01FCF4E08A954540054247B /*
Build configuration list for PBXProject "AppleWatch" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ en,
+ es,
+ de,
+ se,
+ Base,
+ );
+ mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate
*/;
+ projectDirPath = "";
+ projectReferences = (
+ {
+ ProductGroup = 301BF52E109A57CC0062928A
/* Products */;
+ ProjectRef = 301BF52D109A57CC0062928A
/* CordovaLib.xcodeproj */;
+ },
+ );
+ projectRoot = "";
+ targets = (
+ 1D6058900D05DD3D006BFB54 /* AppleWatch */,
+ 09F56C4C1B0D453700118BA7 /* AppleWatch WatchKit
Extension */,
+ 09F56C5B1B0D453700118BA7 /* AppleWatch WatchKit
App */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+ 301BF535109A57CC0062928A /* libCordova.a */ = {
+ isa = PBXReferenceProxy;
+ fileType = archive.ar;
+ path = libCordova.a;
+ remoteRef = 301BF534109A57CC0062928A /*
PBXContainerItemProxy */;
+ sourceTree = BUILT_PRODUCTS_DIR;
+ };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 09F56C4B1B0D453700118BA7 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 09F56C591B0D453700118BA7 /* Images.xcassets in
Resources */,
+ 09F56C5D1B0D453700118BA7 /* AppleWatch WatchKit
App.app in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 09F56C5A1B0D453700118BA7 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 09F56C651B0D453700118BA7 /*
Interface.storyboard in Resources */,
+ 09F56C671B0D453700118BA7 /* Images.xcassets in
Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1D60588D0D05DD3D006BFB54 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 7E7966E41810823500FA85AD /* icon-76.png in
Resources */,
+ 7E7966DF1810823500FA85AD /* [email protected] in
Resources */,
+ 308D05371370CCF300D202BF /* icon-72.png in
Resources */,
+ 30B4F30119D5E07200D9F7D8 /* Default-736h.png in
Resources */,
+ 308D05381370CCF300D202BF /* icon.png in
Resources */,
+ 308D05391370CCF300D202BF /* [email protected] in
Resources */,
+ 302D95F214D2391D003F00A1 /*
MainViewController.xib in Resources */,
+ 7E7966E01810823500FA85AD /* icon-50.png in
Resources */,
+ 7E7966E31810823500FA85AD /* [email protected] in
Resources */,
+ 7E7966E61810823500FA85AD /* icon-small.png in
Resources */,
+ 3088BBBD154F3926009F9C59 /*
Default-Landscape@2x~ipad.png in Resources */,
+ 3088BBBE154F3926009F9C59 /*
Default-Landscape~ipad.png in Resources */,
+ 3088BBBF154F3926009F9C59 /*
Default-Portrait@2x~ipad.png in Resources */,
+ 7E7966E71810823500FA85AD /* [email protected]
in Resources */,
+ 3088BBC0154F3926009F9C59 /*
Default-Portrait~ipad.png in Resources */,
+ 30B4F30019D5E07200D9F7D8 /* Default-667h.png in
Resources */,
+ 7E7966DE1810823500FA85AD /* icon-40.png in
Resources */,
+ 3088BBC1154F3926009F9C59 /*
Default@2x~iphone.png in Resources */,
+ 7E7966E21810823500FA85AD /* icon-60.png in
Resources */,
+ 3088BBC2154F3926009F9C59 /* Default~iphone.png
in Resources */,
+ D4A0D8761607E02300AEF8BB /*
Default-568h@2x~iphone.png in Resources */,
+ 30B4F30219D5E07200D9F7D8 /*
Default-Landscape-736h.png in Resources */,
+ 30C1856619D5FC0A00212699 /* [email protected] in
Resources */,
+ 7E7966E11810823500FA85AD /* [email protected] in
Resources */,
+ 7E7966E51810823500FA85AD /* [email protected] in
Resources */,
+ 30FC414916E50CA1004E6F35 /* [email protected] in
Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 304B58A110DAC018002A0835 /* Copy www directory */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Copy www directory";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "cordova/lib/copy-www-build-step.sh";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 09F56C491B0D453700118BA7 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 09F56C571B0D453700118BA7 /*
NotificationController.m in Sources */,
+ 09F56C541B0D453700118BA7 /*
InterfaceController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1D60588E0D05DD3D006BFB54 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1D60589B0D05DD56006BFB54 /* main.m in Sources
*/,
+ 1D3623260D0F684500981E51 /* AppDelegate.m in
Sources */,
+ 302D95F114D2391D003F00A1 /*
MainViewController.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+ 09F56C5F1B0D453700118BA7 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 09F56C5B1B0D453700118BA7 /* AppleWatch
WatchKit App */;
+ targetProxy = 09F56C5E1B0D453700118BA7 /*
PBXContainerItemProxy */;
+ };
+ 09F56C691B0D453700118BA7 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = 09F56C4C1B0D453700118BA7 /* AppleWatch
WatchKit Extension */;
+ targetProxy = 09F56C681B0D453700118BA7 /*
PBXContainerItemProxy */;
+ };
+ 301BF551109A68C00062928A /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ name = CordovaLib;
+ targetProxy = 301BF550109A68C00062928A /*
PBXContainerItemProxy */;
+ };
+/* End PBXTargetDependency section */
+
+/* Begin PBXVariantGroup section */
+ 09F56C631B0D453700118BA7 /* Interface.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 09F56C641B0D453700118BA7 /* Base */,
+ );
+ name = Interface.storyboard;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 09F56C6B1B0D453700118BA7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ INFOPLIST_FILE = "AppleWatch WatchKit
Extension/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.3;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited)
@executable_path/Frameworks @executable_path/../../Frameworks";
+ MTL_ENABLE_DEBUG_INFO = YES;
+ PRODUCT_NAME = "${TARGET_NAME}";
+ SKIP_INSTALL = YES;
+ };
+ name = Debug;
+ };
+ 09F56C6C1B0D453700118BA7 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ INFOPLIST_FILE = "AppleWatch WatchKit
Extension/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.3;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited)
@executable_path/Frameworks @executable_path/../../Frameworks";
+ MTL_ENABLE_DEBUG_INFO = NO;
+ PRODUCT_NAME = "${TARGET_NAME}";
+ SKIP_INSTALL = YES;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 09F56C6D1B0D453700118BA7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ IBSC_MODULE = AppleWatch_WatchKit_Extension;
+ INFOPLIST_FILE = "AppleWatch WatchKit
App/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.3;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = 4;
+ "TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*]"
= "1,4";
+ };
+ name = Debug;
+ };
+ 09F56C6E1B0D453700118BA7 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ COPY_PHASE_STRIP = NO;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_NO_COMMON_BLOCKS = YES;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ IBSC_MODULE = AppleWatch_WatchKit_Extension;
+ INFOPLIST_FILE = "AppleWatch WatchKit
App/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 8.3;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SKIP_INSTALL = YES;
+ TARGETED_DEVICE_FAMILY = 4;
+ "TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*]"
= "1,4";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 1D6058940D05DD3E006BFB54 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = NO;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER =
"AppleWatch/AppleWatch-Prefix.pch";
+ GCC_THUMB_SUPPORT = NO;
+ GCC_VERSION = "";
+ INFOPLIST_FILE =
"AppleWatch/AppleWatch-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+ OTHER_LDFLAGS = (
+ "-weak_framework",
+ CoreFoundation,
+ "-weak_framework",
+ UIKit,
+ "-weak_framework",
+ AVFoundation,
+ "-weak_framework",
+ CoreMedia,
+ "-weak-lSystem",
+ "-ObjC",
+ );
+ PRODUCT_NAME = AppleWatch;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Debug;
+ };
+ 1D6058950D05DD3E006BFB54 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER =
"AppleWatch/AppleWatch-Prefix.pch";
+ GCC_THUMB_SUPPORT = NO;
+ GCC_VERSION = "";
+ INFOPLIST_FILE =
"AppleWatch/AppleWatch-Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+ OTHER_LDFLAGS = (
+ "-weak_framework",
+ CoreFoundation,
+ "-weak_framework",
+ UIKit,
+ "-weak_framework",
+ AVFoundation,
+ "-weak_framework",
+ CoreMedia,
+ "-weak-lSystem",
+ "-ObjC",
+ );
+ PRODUCT_NAME = AppleWatch;
+ TARGETED_DEVICE_FAMILY = "1,2";
+ };
+ name = Release;
+ };
+ C01FCF4F08A954540054247B /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone
Developer";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_THUMB_SUPPORT = NO;
+ GCC_VERSION = "";
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+
"\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+
"\"$(OBJROOT)/UninstalledProducts/include\"",
+ "\"$(BUILT_PRODUCTS_DIR)\"",
+ );
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+ ONLY_ACTIVE_ARCH = YES;
+ OTHER_LDFLAGS = (
+ "-weak_framework",
+ CoreFoundation,
+ "-weak_framework",
+ UIKit,
+ "-weak_framework",
+ AVFoundation,
+ "-weak_framework",
+ CoreMedia,
+ "-weak-lSystem",
+ "-ObjC",
+ );
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = NO;
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Debug;
+ };
+ C01FCF5008A954540054247B /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone
Developer";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_THUMB_SUPPORT = NO;
+ GCC_VERSION = "";
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ HEADER_SEARCH_PATHS = (
+
"\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+
"\"$(OBJROOT)/UninstalledProducts/include\"",
+ "\"$(BUILT_PRODUCTS_DIR)\"",
+ );
+ IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+ OTHER_LDFLAGS = (
+ "-weak_framework",
+ CoreFoundation,
+ "-weak_framework",
+ UIKit,
+ "-weak_framework",
+ AVFoundation,
+ "-weak_framework",
+ CoreMedia,
+ "-weak-lSystem",
+ "-ObjC",
+ );
+ SDKROOT = iphoneos;
+ SKIP_INSTALL = NO;
+ USER_HEADER_SEARCH_PATHS = "";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 09F56C6F1B0D453700118BA7 /* Build configuration list for
PBXNativeTarget "AppleWatch WatchKit App" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 09F56C6D1B0D453700118BA7 /* Debug */,
+ 09F56C6E1B0D453700118BA7 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+ 09F56C701B0D453700118BA7 /* Build configuration list for
PBXNativeTarget "AppleWatch WatchKit Extension" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 09F56C6B1B0D453700118BA7 /* Debug */,
+ 09F56C6C1B0D453700118BA7 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ };
+ 1D6058960D05DD3E006BFB54 /* Build configuration list for
PBXNativeTarget "AppleWatch" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1D6058940D05DD3E006BFB54 /* Debug */,
+ 1D6058950D05DD3E006BFB54 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ C01FCF4E08A954540054247B /* Build configuration list for
PBXProject "AppleWatch" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ C01FCF4F08A954540054247B /* Debug */,
+ C01FCF5008A954540054247B /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git
a/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch/AppleWatch-Info.plist
b/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch/AppleWatch-Info.plist
new file mode 100644
index 000000000..e40aed679
--- /dev/null
+++
b/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch/AppleWatch-Info.plist
@@ -0,0 +1,182 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+ <dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleDisplayName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIconFile</key>
+ <string>icon.png</string>
+ <key>CFBundleIcons</key>
+ <dict>
+ <key>CFBundlePrimaryIcon</key>
+ <dict>
+ <key>CFBundleIconFiles</key>
+ <array>
+ <string>icon-40</string>
+ <string>icon-small</string>
+ <string>icon-60</string>
+ <string>icon.png</string>
+ <string>icon@2x</string>
+ <string>icon-72</string>
+ <string>icon-72@2x</string>
+ </array>
+ <key>UIPrerenderedIcon</key>
+ <false/>
+ </dict>
+ </dict>
+ <key>CFBundleIcons~ipad</key>
+ <dict>
+ <key>CFBundlePrimaryIcon</key>
+ <dict>
+ <key>CFBundleIconFiles</key>
+ <array>
+ <string>icon-small</string>
+ <string>icon-40</string>
+ <string>icon-50</string>
+ <string>icon-76</string>
+ <string>icon-60</string>
+ <string>icon</string>
+ <string>icon@2x</string>
+ <string>icon-72</string>
+ <string>icon-72@2x</string>
+ </array>
+ <key>UIPrerenderedIcon</key>
+ <false/>
+ </dict>
+ </dict>
+ <key>CFBundleIdentifier</key>
+ <string>AppleWatch</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>APPL</string>
+ <key>CFBundleSignature</key>
+ <string>????</string>
+ <key>CFBundleVersion</key>
+ <string>0.0.1</string>
+ <key>CFBundleShortVersionString</key>
+ <string>0.0.1</string>
+ <key>LSRequiresIPhoneOS</key>
+ <true/>
+ <key>NSMainNibFile</key>
+ <string></string>
+ <key>NSMainNibFile~ipad</key>
+ <string></string>
+ <key>UISupportedInterfaceOrientations~ipad</key>
+ <array>
+ <string>UIInterfaceOrientationPortrait</string>
+ <string>UIInterfaceOrientationLandscapeLeft</string>
+ <string>UIInterfaceOrientationPortraitUpsideDown</string>
+ <string>UIInterfaceOrientationLandscapeRight</string>
+ </array>
+ <key>UILaunchImages</key>
+ <array>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Portrait</string>
+ <key>UILaunchImageSize</key>
+ <string>{320, 480}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Landscape</string>
+ <key>UILaunchImageSize</key>
+ <string>{320, 480}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default-568h</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Portrait</string>
+ <key>UILaunchImageSize</key>
+ <string>{320, 568}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default-568h</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Landscape</string>
+ <key>UILaunchImageSize</key>
+ <string>{320, 568}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default-667h</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Portrait</string>
+ <key>UILaunchImageSize</key>
+ <string>{375, 667}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default-667h</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Landscape</string>
+ <key>UILaunchImageSize</key>
+ <string>{375, 667}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default-736h</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Portrait</string>
+ <key>UILaunchImageSize</key>
+ <string>{414, 736}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default-Landscape-736h</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Landscape</string>
+ <key>UILaunchImageSize</key>
+ <string>{414, 736}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default-Portrait</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Portrait</string>
+ <key>UILaunchImageSize</key>
+ <string>{768, 1024}</string>
+ </dict>
+ <dict>
+ <key>UILaunchImageMinimumOSVersion</key>
+ <string>8.0</string>
+ <key>UILaunchImageName</key>
+ <string>Default-Landscape</string>
+ <key>UILaunchImageOrientation</key>
+ <string>Landscape</string>
+ <key>UILaunchImageSize</key>
+ <string>{768, 1024}</string>
+ </dict>
+ </array>
+ </dict>
+</plist>
\ No newline at end of file
diff --git
a/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch/config.xml
b/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch/config.xml
new file mode 100755
index 000000000..fee3fb016
--- /dev/null
+++ b/cordova-lib/spec-plugman/projects/ios-apple-watch/AppleWatch/config.xml
@@ -0,0 +1,34 @@
+<?xml version='1.0' encoding='utf-8'?>
+<widget id="AppleWatch" 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" />
+ <preference name="EnableViewportScale" value="false" />
+ <preference name="KeyboardDisplayRequiresUserAction" value="true" />
+ <preference name="MediaPlaybackRequiresUserAction" value="false" />
+ <preference name="SuppressesIncrementalRendering" value="false" />
+ <preference name="GapBetweenPages" value="0" />
+ <preference name="PageLength" value="0" />
+ <preference name="PaginationBreakingMode" value="page" />
+ <preference name="PaginationMode" value="unpaginated" />
+ <feature name="LocalStorage">
+ <param name="ios-package" value="CDVLocalStorage" />
+ </feature>
+ <allow-intent href="itms:*" />
+ <allow-intent href="itms-apps:*" />
+ <name>AppleWatch</name>
+ <description>
+ A sample Apache Cordova application that responds to the deviceready
event.
+ </description>
+ <author email="[email protected]" href="http://cordova.io">
+ Apache Cordova Team
+ </author>
+ <content src="index.html" />
+ <access origin="*" />
+ <allow-intent href="http://*/*" />
+ <allow-intent href="https://*/*" />
+ <allow-intent href="tel:*" />
+ <allow-intent href="sms:*" />
+ <allow-intent href="mailto:*" />
+ <allow-intent href="geo:*" />
+</widget>
diff --git a/cordova-lib/src/plugman/platforms/ios.js
b/cordova-lib/src/plugman/platforms/ios.js
index 37503c523..1b30afb52 100644
--- a/cordova-lib/src/plugman/platforms/ios.js
+++ b/cordova-lib/src/plugman/platforms/ios.js
@@ -59,12 +59,14 @@ function installHelper(type, obj, plugin_dir, project_dir,
plugin_id, options, p
if (type == 'header-file') {
project.xcode.addHeaderFile(project_ref);
} else if (obj.framework) {
- var opt = { weak: obj.weak };
+ var opt = { weak: obj.weak, target:project.target };
var project_relative = path.join(path.basename(project.xcode_path),
project_ref);
project.xcode.addFramework(project_relative, opt);
project.xcode.addToLibrarySearchPaths({path:project_ref});
} else {
- project.xcode.addSourceFile(project_ref, obj.compilerFlags ?
{compilerFlags:obj.compilerFlags} : {});
+ var opt2 = obj.compilerFlags ? {compilerFlags:obj.compilerFlags} : {};
+ opt2.target = project.target;
+ project.xcode.addSourceFile(project_ref, opt2);
}
}
@@ -83,14 +85,16 @@ function uninstallHelper(type, obj, project_dir, plugin_id,
options, project) {
shell.rm('-rf', targetDir);
+ var opt = { target : project.target};
if (type == 'header-file') {
project.xcode.removeHeaderFile(project_ref);
} else if (obj.framework) {
var project_relative = path.join(path.basename(project.xcode_path),
project_ref);
- project.xcode.removeFramework(project_relative);
+
+ project.xcode.removeFramework(project_relative,opt);
project.xcode.removeFromLibrarySearchPaths({path:project_ref});
} else {
- project.xcode.removeSourceFile(project_ref);
+ project.xcode.removeSourceFile(project_ref,opt);
}
}
@@ -162,16 +166,20 @@ module.exports = {
install:function(reobj, plugin_dir, project_dir, plugin_id, options,
project) {
var src = reobj.src,
srcFile = path.resolve(plugin_dir, src),
- destFile = path.resolve(project.resources_dir,
path.basename(src));
+ destFile = path.resolve(project.resources_dir,
path.basename(src)),
+ opt = { target : project.target};
+
if (!fs.existsSync(srcFile)) throw new Error('cannot find "' +
srcFile + '" ios <resource-file>');
if (fs.existsSync(destFile)) throw new Error('target destination
"' + destFile + '" already exists');
- project.xcode.addResourceFile(path.join('Resources',
path.basename(src)));
+
+ project.xcode.addResourceFile(path.join('Resources',
path.basename(src)),opt);
shell.cp('-R', srcFile, project.resources_dir);
},
uninstall:function(reobj, project_dir, plugin_id, options, project) {
var src = reobj.src,
- destFile = path.resolve(project.resources_dir,
path.basename(src));
- project.xcode.removeResourceFile(path.join('Resources',
path.basename(src)));
+ destFile = path.resolve(project.resources_dir,
path.basename(src)),
+ opt = { target : project.target};
+ project.xcode.removeResourceFile(path.join('Resources',
path.basename(src)),opt);
shell.rm('-rf', destFile);
}
},
@@ -200,12 +208,14 @@ module.exports = {
shell.mkdir('-p', path.dirname(targetDir));
shell.cp('-R', srcFile, path.dirname(targetDir)); // frameworks
are directories
var project_relative = path.relative(project_dir, targetDir);
- var pbxFile = project.xcode.addFramework(project_relative,
{customFramework: true});
+
+ var pbxFile = project.xcode.addFramework(project_relative,
{customFramework: true,target:project.target});
if (pbxFile) {
project.xcode.addToPbxEmbedFrameworksBuildPhase(pbxFile);
}
},
uninstall:function(obj, project_dir, plugin_id, options, project) {
+
var src = obj.src;
if (!obj.custom) {
@@ -227,10 +237,12 @@ module.exports = {
}
var targetDir = path.resolve(project.plugins_dir, plugin_id,
path.basename(src)),
- pbxFile = project.xcode.removeFramework(targetDir,
{customFramework: true});
+ pbxFile = project.xcode.removeFramework(targetDir,
{customFramework: true, target:project.target});
+
if (pbxFile) {
project.xcode.removeFromPbxEmbedFrameworksBuildPhase(pbxFile);
}
+
shell.rm('-rf', targetDir);
}
},
@@ -263,13 +275,66 @@ module.exports = {
xcodeproj.parseSync();
var xcBuildConfiguration = xcodeproj.pbxXCBuildConfigurationSection();
- var plist_file_entry = _.find(xcBuildConfiguration, function (entry) {
return entry.buildSettings && entry.buildSettings.INFOPLIST_FILE; });
- var plist_file = path.join(project_dir,
plist_file_entry.buildSettings.INFOPLIST_FILE.replace(/^"(.*)"$/g,
'$1').replace(/\\&/g, '&'));
- var config_file = path.join(path.dirname(plist_file), 'config.xml');
- if (!fs.existsSync(plist_file) || !fs.existsSync(config_file)) {
+ // CB-9033
+ var plist_file_index;
+ var plist_file_entry = _.find(xcBuildConfiguration, function
(entry,index) {
+ if (entry.buildSettings && entry.buildSettings.INFOPLIST_FILE &&
entry.buildSettings.SKIP_INSTALL != 'YES') {
+
+ var plist_file = path.join(project_dir,
entry.buildSettings.INFOPLIST_FILE.replace(/^"(.*)"$/g, '$1').replace(/\\&/g,
'&'));
+ if (!fs.existsSync(plist_file))
+ return false;
+
+ var config_file = path.join(path.dirname(plist_file),
'config.xml');
+ if (!fs.existsSync(config_file))
+ return false;
+
+ plist_file_index = index;
+ return true;
+ }
+
+ return false;
+ });
+
+
+ if (!plist_file_entry)
throw new CordovaError('could not find -Info.plist file, or
config.xml file.');
- }
+
+
+ var target;
+ var XCConfigurationList = xcodeproj.pbxXCConfigurationList();
+ var buildConf;
+ var entry = _.find(XCConfigurationList, function (entry,index) {
+ for(var i in entry.buildConfigurations)
+ {
+ var b = entry.buildConfigurations[i];
+ if (b.value==plist_file_index)
+ {
+ buildConf=index;
+ return true;
+ }
+ }
+ return false;
+ });
+
+ if (!buildConf)
+ throw new CordovaError('could not find buildConfiguration.');
+
+ var nativeTargets = xcodeproj.pbxNativeTarget();
+ entry = _.find(nativeTargets, function (entry,index) {
+ if (entry.buildConfigurationList==buildConf)
+ {
+ target = index;
+ return true;
+ }
+ return false;
+ });
+
+ if (!target)
+ throw new CordovaError('could not find find target.');
+
+
+ var plist_file = path.join(project_dir,
plist_file_entry.buildSettings.INFOPLIST_FILE.replace(/^"(.*)"$/g,
'$1').replace(/\\&/g, '&'));
var frameworks_file = path.join(project_dir, 'frameworks.json');
var frameworks = {};
@@ -287,6 +352,7 @@ module.exports = {
resources_dir:resourcesDir,
xcode:xcodeproj,
xcode_path:xcode_dir,
+ target : target,
pbx: pbxPath,
write: function () {
fs.writeFileSync(pbxPath, xcodeproj.writeSync());
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
> Plugins fail to install on Apple Watch based Cordova project
> ------------------------------------------------------------
>
> Key: CB-9033
> URL: https://issues.apache.org/jira/browse/CB-9033
> Project: Apache Cordova
> Issue Type: Bug
> Components: cordova-lib
> Affects Versions: 5.0.0
> Environment: iOS
> Reporter: Olivier Goguel
> Assignee: Shazron Abdullah
> Priority: Major
> Labels: backlog
> Fix For: [email protected]
>
>
> After having added the Watch Kit target to an iOS Cordova project, plugins
> cannot be added any more through the CLI.
> An error is thrown "'could not find -Info.plist file, or config.xml file." as
> the plugin manager is confused by the plist files from the WatchKit App and
> WatchKit Extension and fails to find the proper plist file of the projet.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]