@@ -1126,39 +1126,45 @@ We will now place an empty obsolete compatability white screen LauncScreen.xib f
1126
1126
return stats . isDirectory ( ) && ! fileName . startsWith ( "." ) ;
1127
1127
} )
1128
1128
. forEach ( extensionFolder => {
1129
- const extensionPath = path . join ( extensionsFolderPath , extensionFolder ) ;
1130
- const extensionRelativePath = path . relative ( this . getPlatformData ( projectData ) . projectRoot , extensionPath ) ;
1131
- const group = this . getRootGroup ( extensionFolder , extensionPath ) ;
1132
- const target = project . addTarget ( extensionFolder , 'app_extension' , extensionRelativePath ) ;
1133
- project . addBuildPhase ( [ ] , 'PBXSourcesBuildPhase' , 'Sources' , target . uuid ) ;
1134
- project . addBuildPhase ( [ ] , 'PBXResourcesBuildPhase' , 'Resources' , target . uuid ) ;
1135
- project . addBuildPhase ( [ ] , 'PBXFrameworksBuildPhase' , 'Frameworks' , target . uuid ) ;
1136
-
1137
- const extJsonPath = path . join ( extensionsFolderPath , extensionFolder , "extension.json" ) ;
1138
- if ( this . $fs . exists ( extJsonPath ) ) {
1139
- const extensionJson = this . $fs . readJson ( extJsonPath ) ;
1140
- _ . forEach ( extensionJson . frameworks , framework => {
1141
- project . addFramework (
1142
- framework ,
1143
- { target : target . uuid }
1144
- ) ;
1145
- } ) ;
1146
- if ( extensionJson . assetcatalogCompilerAppiconName ) {
1147
- project . addToBuildSettings ( "ASSETCATALOG_COMPILER_APPICON_NAME" , extensionJson . assetcatalogCompilerAppiconName , target . uuid ) ;
1148
- }
1149
- }
1150
-
1151
- project . addPbxGroup ( group . files , group . name , group . path , null , { isMain : true , target : target . uuid , filesRelativeToProject : true } ) ;
1152
- project . addBuildProperty ( "PRODUCT_BUNDLE_IDENTIFIER" , `${ projectData . projectIdentifiers . ios } .${ extensionFolder } ` , "Debug" , extensionFolder ) ;
1153
- project . addBuildProperty ( "PRODUCT_BUNDLE_IDENTIFIER" , `${ projectData . projectIdentifiers . ios } .${ extensionFolder } ` , "Release" , extensionFolder ) ;
1154
- targetUuids . push ( target . uuid ) ;
1155
- project . addToHeaderSearchPaths ( group . path , target . pbxNativeTarget . productName ) ;
1129
+ const targetUuid = this . addExtensionToProject ( extensionsFolderPath , extensionFolder , project , projectData ) ;
1130
+ targetUuids . push ( targetUuid ) ;
1156
1131
} ) ;
1157
1132
1158
1133
this . savePbxProj ( project , projectData , true ) ;
1159
1134
this . prepareExtensionSigning ( targetUuids , projectData ) ;
1160
1135
}
1161
1136
1137
+ private addExtensionToProject ( extensionsFolderPath : string , extensionFolder : string , project : IXcode . project , projectData : IProjectData ) : string {
1138
+ const extensionPath = path . join ( extensionsFolderPath , extensionFolder ) ;
1139
+ const extensionRelativePath = path . relative ( this . getPlatformData ( projectData ) . projectRoot , extensionPath ) ;
1140
+ const group = this . getRootGroup ( extensionFolder , extensionPath ) ;
1141
+ const target = project . addTarget ( extensionFolder , 'app_extension' , extensionRelativePath ) ;
1142
+ project . addBuildPhase ( [ ] , 'PBXSourcesBuildPhase' , 'Sources' , target . uuid ) ;
1143
+ project . addBuildPhase ( [ ] , 'PBXResourcesBuildPhase' , 'Resources' , target . uuid ) ;
1144
+ project . addBuildPhase ( [ ] , 'PBXFrameworksBuildPhase' , 'Frameworks' , target . uuid ) ;
1145
+
1146
+ const extJsonPath = path . join ( extensionsFolderPath , extensionFolder , "extension.json" ) ;
1147
+ if ( this . $fs . exists ( extJsonPath ) ) {
1148
+ const extensionJson = this . $fs . readJson ( extJsonPath ) ;
1149
+ _ . forEach ( extensionJson . frameworks , framework => {
1150
+ project . addFramework (
1151
+ framework ,
1152
+ { target : target . uuid }
1153
+ ) ;
1154
+ } ) ;
1155
+ if ( extensionJson . assetcatalogCompilerAppiconName ) {
1156
+ project . addToBuildSettings ( "ASSETCATALOG_COMPILER_APPICON_NAME" , extensionJson . assetcatalogCompilerAppiconName , target . uuid ) ;
1157
+ }
1158
+ }
1159
+
1160
+ project . addPbxGroup ( group . files , group . name , group . path , null , { isMain : true , target : target . uuid , filesRelativeToProject : true } ) ;
1161
+ project . addBuildProperty ( "PRODUCT_BUNDLE_IDENTIFIER" , `${ projectData . projectIdentifiers . ios } .${ extensionFolder } ` , "Debug" , extensionFolder ) ;
1162
+ project . addBuildProperty ( "PRODUCT_BUNDLE_IDENTIFIER" , `${ projectData . projectIdentifiers . ios } .${ extensionFolder } ` , "Release" , extensionFolder ) ;
1163
+ project . addToHeaderSearchPaths ( group . path , target . pbxNativeTarget . productName ) ;
1164
+
1165
+ return target . uuid
1166
+ }
1167
+
1162
1168
private prepareExtensionSigning ( targetUuids : string [ ] , projectData :IProjectData ) {
1163
1169
const xcode = this . $pbxprojDomXcode . Xcode . open ( this . getPbxProjPath ( projectData ) ) ;
1164
1170
const signing = xcode . getSigning ( projectData . projectName ) ;
0 commit comments