Something went wrong. Try again.
Bluesky app fork with some witchin' additions 💫 forked from jollywhoppers.com/witchsky.app
Something went wrong. Try again.
3.3 kB · 91 lines
JavaScript
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192const {withXcodeProject} = require('@expo/config-plugins')
const BUILD_PHASE_FILES = ['AppDelegate.swift', 'ViewController.swift']
const withXcodeTarget = (config, {targetName}) => { // eslint-disable-next-line no-shadow return withXcodeProject(config, config => { const pbxProject = config.modResults
const target = pbxProject.addTarget(targetName, 'application', targetName) target.pbxNativeTarget.productType = `"com.apple.product-type.application.on-demand-install-capable"` pbxProject.addBuildPhase( BUILD_PHASE_FILES.map(f => `${targetName}/${f}`), 'PBXSourcesBuildPhase', 'Sources', target.uuid, 'application', '"AppClips"', ) pbxProject.addBuildPhase( [`${targetName}/Images.xcassets`], 'PBXResourcesBuildPhase', 'Resources', target.uuid, 'application', '"AppClips"', )
const pbxGroup = pbxProject.addPbxGroup([ 'AppDelegate.swift', 'ViewController.swift', 'Images.xcassets', `${targetName}.entitlements`, 'Info.plist', ])
pbxProject.addFile(`${targetName}/Info.plist`, pbxGroup.uuid) const configurations = pbxProject.pbxXCBuildConfigurationSection() for (const key in configurations) { if (typeof configurations[key].buildSettings !== 'undefined') { const buildSettingsObj = configurations[key].buildSettings if ( typeof buildSettingsObj.PRODUCT_NAME !== 'undefined' && buildSettingsObj.PRODUCT_NAME === `"${targetName}"` ) { buildSettingsObj.CLANG_ENABLE_MODULES = 'YES' buildSettingsObj.INFOPLIST_FILE = `"${targetName}/Info.plist"` buildSettingsObj.CODE_SIGN_ENTITLEMENTS = `"${targetName}/${targetName}.entitlements"` buildSettingsObj.CODE_SIGN_STYLE = 'Automatic' buildSettingsObj.CURRENT_PROJECT_VERSION = `"${ process.env.BSKY_IOS_BUILD_NUMBER ?? '1' }"` buildSettingsObj.GENERATE_INFOPLIST_FILE = 'YES' buildSettingsObj.MARKETING_VERSION = `"${config.version}"` buildSettingsObj.PRODUCT_BUNDLE_IDENTIFIER = `"${config.ios?.bundleIdentifier}.AppClip"` buildSettingsObj.SWIFT_EMIT_LOC_STRINGS = 'YES' buildSettingsObj.SWIFT_VERSION = '5.0' buildSettingsObj.TARGETED_DEVICE_FAMILY = `"1"` buildSettingsObj.DEVELOPMENT_TEAM = 'B3LX46C5HS' buildSettingsObj.IPHONEOS_DEPLOYMENT_TARGET = '15.1' buildSettingsObj.ASSETCATALOG_COMPILER_APPICON_NAME = 'AppIcon' } } }
pbxProject.addTargetAttribute('DevelopmentTeam', 'B3LX46C5HS', targetName)
if (!pbxProject.hash.project.objects.PBXTargetDependency) { pbxProject.hash.project.objects.PBXTargetDependency = {} } if (!pbxProject.hash.project.objects.PBXContainerItemProxy) { pbxProject.hash.project.objects.PBXContainerItemProxy = {} } pbxProject.addTargetDependency(pbxProject.getFirstTarget().uuid, [ target.uuid, ])
pbxProject.addBuildPhase( [`${targetName}.app`], 'PBXCopyFilesBuildPhase', 'Embed App Clips', pbxProject.getFirstTarget().uuid, 'application', '"AppClips"', )
return config })}
module.exports = {withXcodeTarget}