filenameAppleSliceCandidates function

List<AppleSliceCandidate> filenameAppleSliceCandidates(
  1. Directory xcframeworkRoot, {
  2. required String platform,
  3. required String? variant,
})

Builds a narrow filename-layout fallback for older/nonstandard archives. The caller must still inspect the selected Mach-O before emitting it.

Implementation

List<AppleSliceCandidate> filenameAppleSliceCandidates(
  Directory xcframeworkRoot, {
  required String platform,
  required String? variant,
}) {
  if (!xcframeworkRoot.existsSync()) return const [];
  final prefix = '$platform-';
  return [
    for (final directory
        in xcframeworkRoot.listSync(followLinks: false).whereType<Directory>())
      if (p.basename(directory.path).startsWith(prefix))
        if (_filenameSliceVariant(p.basename(directory.path), platform) ==
            variant)
          AppleSliceCandidate(
            identifier: p.basename(directory.path),
            libraryPath: 'ffmpegkit.framework',
            platform: platform,
            variant: variant,
            architectures: _filenameSliceArchitectures(
              p.basename(directory.path),
              platform,
              variant,
            ),
          ),
  ];
}