Add fixes for new addTarget() helper function.
diff --git a/lib/pbxProject.js b/lib/pbxProject.js
index 7e56532..4fb2c5b 100644
--- a/lib/pbxProject.js
+++ b/lib/pbxProject.js
@@ -1051,21 +1051,23 @@
];
// Build Configuration: Add
- var buildConfigurations = this.addXCConfigurationList(buildConfigurationsList, 'Release', 'Build configuration list for PBXNativeTarget "' + targetName +'"'),
- buildConfigurationsUuid = buildConfigurations.uuid;
+ var buildConfigurations = this.addXCConfigurationList(buildConfigurationsList, 'Release', 'Build configuration list for PBXNativeTarget "' + targetName +'"');
// Product: Create
var productName = targetName,
productType = producttypeForTargettype(targetType),
- productFile = this.addProductFile(productName, { 'explicitFileType': productType }),
+ productFileType = filetypeForProducttype(productType),
+ productFile = this.addProductFile(productName, { 'target': targetUuid, 'group': 'CopyFiles' }),
productFileName = productFile.basename;
- // Product: Embed in first target (only for "extension"-type targets)
+ // Product: Embed (only for "extension"-type targets)
if (targetType === 'app_extension') {
- var embedPhase;
- var embedFile;
- // TODO: Add embedding via "PBXCopyFilesBuildPhase" build phase
+ // Create "Copy Files" build phase for target which contains the extension
+ this.addBuildPhase([], 'PBXCopyFilesBuildPhase', 'CopyFiles', this.getFirstTarget().uuid)
+
+ // Add product reference to "Copy Files" build phase
+ this.addCopyfile(productFileName, { 'explicitFileType': productFileType, 'target': this.getFirstTarget().uuid })
};
// Target: Create
@@ -1077,7 +1079,7 @@
productName: targetName,
productReference: productFile.fileRef,
productType: '"' + producttypeForTargettype(targetType) + '"',
- buildConfigurationList: buildConfigurationsUuid,
+ buildConfigurationList: buildConfigurations.uuid,
buildPhases: [],
buildRules: [],
dependencies: []
diff --git a/test/addTargetDependency.js b/test/addTargetDependency.js
index d20c790..2ed6983 100644
--- a/test/addTargetDependency.js
+++ b/test/addTargetDependency.js
@@ -40,7 +40,7 @@
test.done();
},
'should add targetDependencies to target': function (test) {
- var targetInPbxProj = proj.pbxNativeTarget()['1D6058900D05DD3D006BFB55'];
+ var targetInPbxProj = proj.pbxNativeTargetSection()['1D6058900D05DD3D006BFB55'];
test.deepEqual(targetInPbxProj.dependencies, []);
var target = proj.addTargetDependency('1D6058900D05DD3D006BFB55', ['1D6058900D05DD3D006BFB54', '1D6058900D05DD3D006BFB55']).target;