@@ -348,27 +348,33 @@ pbxProject.prototype.addFramework = function(fpath, opt) {
348
348
}
349
349
350
350
if ( link ) {
351
- if ( this . addToPbxFrameworksBuildPhase ( file ) ) { // PBXFrameworksBuildPhase)
351
+ const buildFileUuid = this . addToPbxFrameworksBuildPhase ( file ) ;
352
+ if ( buildFileUuid === file . uuid ) { // PBXFrameworksBuildPhase)
352
353
this . addToPbxBuildFileSection ( file ) ; // PBXBuildFile
354
+ } else {
355
+ file . uuid = buildFileUuid ;
353
356
}
354
357
}
355
358
356
359
if ( customFramework ) {
357
360
this . addToFrameworkSearchPaths ( file ) ;
358
361
359
362
if ( embed ) {
360
- opt . embed = embed ;
361
- var embeddedFile = new pbxFile ( fpath , opt ) ;
362
-
363
- embeddedFile . uuid = this . generateUuid ( ) ;
364
- embeddedFile . fileRef = file . fileRef ;
365
- embeddedFile . target = file . target ;
366
-
367
- if ( this . addToPbxEmbedFrameworksBuildPhase ( embeddedFile ) ) { // PBXCopyFilesBuildPhase
363
+ opt . embed = embed ;
364
+ var embeddedFile = new pbxFile ( fpath , opt ) ;
365
+
366
+ embeddedFile . uuid = this . generateUuid ( ) ;
367
+ embeddedFile . fileRef = file . fileRef ;
368
+ embeddedFile . target = file . target ;
369
+ const embedBuildFileUuid = this . addToPbxEmbedFrameworksBuildPhase ( embeddedFile ) ;
370
+ if ( embedBuildFileUuid === embeddedFile . uuid ) { // PBXCopyFilesBuildPhase
368
371
//keeping a separate PBXBuildFile entry for Embed Frameworks
369
372
this . addToPbxBuildFileSection ( embeddedFile ) ; // PBXBuildFile
370
- return embeddedFile ;
373
+ } else {
374
+ embeddedFile . uuid = embedBuildFileUuid ;
371
375
}
376
+
377
+ return embeddedFile ;
372
378
}
373
379
}
374
380
@@ -861,11 +867,11 @@ pbxProject.prototype.removeFromFrameworksPbxGroup = function(file) {
861
867
}
862
868
}
863
869
864
- function hasReferenceInPbxBuildFile ( buildFileReferences , fileReference ) {
870
+ function getReferenceInPbxBuildFile ( buildFileReferences , fileReference ) {
865
871
var buildFileSection = this . pbxBuildFileSection ( ) ;
866
872
for ( let buildFileReference of buildFileReferences ) {
867
873
if ( buildFileSection [ buildFileReference . value ] && buildFileSection [ buildFileReference . value ] . fileRef === fileReference . fileRef ) {
868
- return true ;
874
+ return buildFileReference . value ;
869
875
}
870
876
}
871
877
}
@@ -874,12 +880,13 @@ pbxProject.prototype.addToPbxEmbedFrameworksBuildPhase = function (file) {
874
880
var sources = this . pbxEmbedFrameworksBuildPhaseObj ( file . target ) ;
875
881
876
882
if ( sources ) {
877
- if ( hasReferenceInPbxBuildFile . call ( this , sources . files , file ) ) {
878
- return false ;
883
+ var referenceUuid = getReferenceInPbxBuildFile . call ( this , sources . files , file )
884
+ if ( referenceUuid ) {
885
+ return referenceUuid ;
879
886
}
880
887
881
888
sources . files . push ( pbxBuildPhaseObj ( file ) ) ;
882
- return true ;
889
+ return file . uuid ;
883
890
}
884
891
}
885
892
@@ -955,12 +962,13 @@ pbxProject.prototype.addToPbxFrameworksBuildPhase = function(file) {
955
962
var sources = this . pbxFrameworksBuildPhaseObj ( file . target ) ;
956
963
957
964
if ( sources ) {
958
- if ( hasReferenceInPbxBuildFile . call ( this , sources . files , file ) ) {
959
- return false ;
965
+ var frameworkBuildUuid = getReferenceInPbxBuildFile . call ( this , sources . files , file ) ;
966
+ if ( frameworkBuildUuid ) {
967
+ return frameworkBuildUuid ;
960
968
}
961
969
962
970
sources . files . push ( pbxBuildPhaseObj ( file ) ) ;
963
- return true ;
971
+ return file . uuid ;
964
972
}
965
973
}
966
974
0 commit comments