Bluesky app fork with some witchin' additions 馃挮 witchsky.app
bluesky fork
at main 2.3 kB view raw
1const {withXcodeProject} = require('@expo/config-plugins') 2 3const withXcodeTarget = (config, {extensionName, controllerName}) => { 4 // eslint-disable-next-line no-shadow 5 return withXcodeProject(config, config => { 6 const pbxProject = config.modResults 7 8 const target = pbxProject.addTarget( 9 extensionName, 10 'app_extension', 11 extensionName, 12 ) 13 pbxProject.addBuildPhase([], 'PBXSourcesBuildPhase', 'Sources', target.uuid) 14 pbxProject.addBuildPhase( 15 [], 16 'PBXResourcesBuildPhase', 17 'Resources', 18 target.uuid, 19 ) 20 const pbxGroupKey = pbxProject.pbxCreateGroup(extensionName, extensionName) 21 pbxProject.addFile(`${extensionName}/Info.plist`, pbxGroupKey) 22 pbxProject.addSourceFile( 23 `${extensionName}/${controllerName}.swift`, 24 {target: target.uuid}, 25 pbxGroupKey, 26 ) 27 28 var configurations = pbxProject.pbxXCBuildConfigurationSection() 29 for (var key in configurations) { 30 if (typeof configurations[key].buildSettings !== 'undefined') { 31 var buildSettingsObj = configurations[key].buildSettings 32 if ( 33 typeof buildSettingsObj.PRODUCT_NAME !== 'undefined' && 34 buildSettingsObj.PRODUCT_NAME === `"${extensionName}"` 35 ) { 36 buildSettingsObj.CLANG_ENABLE_MODULES = 'YES' 37 buildSettingsObj.INFOPLIST_FILE = `"${extensionName}/Info.plist"` 38 buildSettingsObj.CODE_SIGN_ENTITLEMENTS = `"${extensionName}/${extensionName}.entitlements"` 39 buildSettingsObj.CODE_SIGN_STYLE = 'Automatic' 40 buildSettingsObj.CURRENT_PROJECT_VERSION = `"${config.ios?.buildNumber}"` 41 buildSettingsObj.GENERATE_INFOPLIST_FILE = 'YES' 42 buildSettingsObj.MARKETING_VERSION = `"${config.version}"` 43 buildSettingsObj.PRODUCT_BUNDLE_IDENTIFIER = `"${config.ios?.bundleIdentifier}.${extensionName}"` 44 buildSettingsObj.SWIFT_EMIT_LOC_STRINGS = 'YES' 45 buildSettingsObj.SWIFT_VERSION = '5.0' 46 buildSettingsObj.TARGETED_DEVICE_FAMILY = `"1,2"` 47 buildSettingsObj.DEVELOPMENT_TEAM = 'B3LX46C5HS' 48 } 49 } 50 } 51 52 pbxProject.addTargetAttribute( 53 'DevelopmentTeam', 54 'B3LX46C5HS', 55 extensionName, 56 ) 57 pbxProject.addTargetAttribute('DevelopmentTeam', 'B3LX46C5HS') 58 59 return config 60 }) 61} 62 63module.exports = {withXcodeTarget}