51 lines
1.8 KiB
TypeScript
51 lines
1.8 KiB
TypeScript
import { ExpoConfig, ConfigContext } from "@expo/config"
|
|
|
|
/**
|
|
* Use tsx/cjs here so we can use TypeScript for our Config Plugins
|
|
* and not have to compile them to JavaScript.
|
|
*
|
|
* See https://docs.expo.dev/config-plugins/plugins/#add-typescript-support-and-convert-to-dynamic-app-config
|
|
*/
|
|
import "tsx/cjs"
|
|
|
|
/**
|
|
* @param config ExpoConfig coming from the static config app.json if it exists
|
|
*
|
|
* You can read more about Expo's Configuration Resolution Rules here:
|
|
* https://docs.expo.dev/workflow/configuration/#configuration-resolution-rules
|
|
*/
|
|
module.exports = ({ config }: ConfigContext): Partial<ExpoConfig> => {
|
|
const existingPlugins = config.plugins ?? []
|
|
|
|
return {
|
|
...config,
|
|
ios: {
|
|
...config.ios,
|
|
// This privacyManifests is to get you started.
|
|
// See Expo's guide on apple privacy manifests here:
|
|
// https://docs.expo.dev/guides/apple-privacy/
|
|
// You may need to add more privacy manifests depending on your app's usage of APIs.
|
|
// More details and a list of "required reason" APIs can be found in the Apple Developer Documentation.
|
|
// https://developer.apple.com/documentation/bundleresources/privacy-manifest-files
|
|
privacyManifests: {
|
|
NSPrivacyAccessedAPITypes: [
|
|
{
|
|
NSPrivacyAccessedAPIType: "NSPrivacyAccessedAPICategoryUserDefaults",
|
|
NSPrivacyAccessedAPITypeReasons: ["CA92.1"], // CA92.1 = "Access info from same app, per documentation"
|
|
},
|
|
],
|
|
},
|
|
},
|
|
plugins: [
|
|
...existingPlugins,
|
|
[
|
|
"@react-native-google-signin/google-signin",
|
|
{
|
|
// iOS URL Scheme = reversed iOS Client ID (for Google Sign-In callback)
|
|
iosUrlScheme: "com.googleusercontent.apps.500211604129-uiln0fhiaj05jjg256oahkdcucpi6cqb",
|
|
},
|
|
],
|
|
],
|
|
}
|
|
}
|