---
title: "DropletBundleInfoError, DroppyKit"
description: "Errors thrown while reading a .droplet&#x27;s metadata."
canonical: "https://getdroppy.app/docs/droppykit/api/droplet-bundle-info-error"
last-updated: "2026-09-09"
---

# DropletBundleInfoError

Errors thrown while reading a .droplet's metadata.

`enum DropletBundleInfoError`

## Cases

### DropletBundleInfoError.missingInfoPlist

`case missingInfoPlist`

The bundle has no readable Info.plist.

### DropletBundleInfoError.missingKey(_:)

`case missingKey(String)`

A required key is missing or has the wrong type.

### DropletBundleInfoError.invalidValue(_:)

`case invalidValue(String)`

A value failed to parse; the message names the key.

### DropletBundleInfoError.notALoadableBundle(_:)

`case notALoadableBundle(String)`

`CFBundlePackageType` is not [`requiredPackageType`](https://getdroppy.app/docs/droppykit/api/droplet-info-plist-key#required-package-type). The payload carries the value that was found, or the empty string when the key is absent.

### DropletBundleInfoError.bundleIdentifierMismatch(expected:actual:)

`case bundleIdentifierMismatch(expected: String, actual: String)`

`CFBundleIdentifier` is not `app.getdroppy.droplet.<DroppyDropletID>`.

## Properties

### errorDescription

`var errorDescription: String? { get }`
