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;