diff --git a/src/mcp/util/crashlytics/availability.ts b/src/mcp/util/crashlytics/availability.ts index 780339c7907..e74641481b9 100644 --- a/src/mcp/util/crashlytics/availability.ts +++ b/src/mcp/util/crashlytics/availability.ts @@ -59,29 +59,13 @@ async function androidAppUsesCrashlytics(appPath: string): Promise { } async function iosAppUsesCrashlytics(appPath: string): Promise { - const podfiles = await detectFiles(appPath, "Podfile"); - for (const file of podfiles) { - const content = await fs.readFile(path.join(appPath, file), "utf8"); - if (content.includes("Crashlytics")) { - return true; - } - } - const swiftPackageFiles = await detectFiles(appPath, "Package.swift"); - for (const file of swiftPackageFiles) { - const content = await fs.readFile(path.join(appPath, file), "utf8"); - if (content.includes("Crashlytics")) { - return true; - } - } - const cartFiles = await detectFiles(appPath, "Cartfile*"); - for (const file of cartFiles) { - const content = await fs.readFile(path.join(appPath, file), "utf8"); - if (content.includes("Crashlytics")) { - return true; - } - } - const xcodeProjectFiles = await detectFiles(appPath, "project.pbxproj"); - for (const file of xcodeProjectFiles) { + const filePatternsToDetect = ["Podfile", "Package.swift", "Cartfile*", "project.pbxproj"]; + const fileArrays = await Promise.all( + filePatternsToDetect.map((term) => detectFiles(appPath, term)), + ); + + const files = fileArrays.flat(); + for (const file of files) { const content = await fs.readFile(path.join(appPath, file), "utf8"); if (content.includes("Crashlytics")) { return true;