Skip to content

Configuration

Android 11+ and iOS 9+ only let your app ask about apps you’ve declared ahead of time. This is an operating-system rule, not a limit of this library. List every app you plan to check.

app.json
{
"expo": {
"plugins": [
[
"expo-check-installed-apps",
{
"android": ["com.facebook.katana", "com.twitter.android", "com.whatsapp"],
"ios": ["fb", "twitter", "whatsapp"]
}
]
]
}
}
Option Type What it does
android string[] Adds a <package android:name="…" /> entry inside <queries> in AndroidManifest.xml for each package name.
ios string[] Adds each scheme to LSApplicationQueriesSchemes in Info.plist. fb:// and fb: are trimmed to fb.

Entries are trimmed and de-duplicated, and existing entries in your manifest or plist are kept. See the config plugin reference for details.

Using app.config.js? Same shape:

app.config.js
export default {
expo: {
plugins: [
[
'expo-check-installed-apps',
{ android: ['com.whatsapp'], ios: ['whatsapp'] },
],
],
},
};

Add a <queries> block directly inside <manifest>:

android/app/src/main/AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<queries>
<package android:name="com.facebook.katana" />
<package android:name="com.twitter.android" />
<package android:name="com.whatsapp" />
</queries>
<!-- rest of your manifest -->
</manifest>

Not sure what to put in these lists? See Finding package names & schemes.