Skip to content

Conversation

@jordandadams
Copy link
Contributor

Issue: Multiple-pass flow isn’t invoked because both cases call addPassFlow.

Current switch in ApplePasskitPlugin.swift

public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
    switch call.method {
    case "isPassLibraryAvailable":
        isPassLibaryAvailable(result)
    case "canAddPasses":
        canAddPasses(result)
    case "addPasses":
        addPassesWithoutFlow(call, result)
    case "addPassesViewController":
        addPassFlow(call, result)
    case "addPassViewController":
        addPassFlow(call, result)
    case "getPasses":
        getPasses(result)
    case "containsPass":
        containsPass(call, result)
    default:
        result(FlutterMethodNotImplemented)
    }
}

Expected behavior / Fix

"addPassesViewController" should call addPassesFlow.

case "addPassesViewController":
-    addPassFlow(call, result)
+    addPassesFlow(call, result)
case "addPassViewController":
    addPassFlow(call, result)

Corrected switch (for clarity)
public func handle(_ call: FlutterMethodCall, result: @escaping FlutterResult) {
   switch call.method {
   case "isPassLibraryAvailable":
       isPassLibaryAvailable(result)
   case "canAddPasses":
       canAddPasses(result)
   case "addPasses":
       addPassesWithoutFlow(call, result)
   case "addPassesViewController":
       addPassesFlow(call, result)
   case "addPassViewController":
       addPassFlow(call, result)
   case "getPasses":
       getPasses(result)
   case "containsPass":
       containsPass(call, result)
   default:
       result(FlutterMethodNotImplemented)
   }
}

Note: addPassesWithoutFlow already works as expected.

@ueman ueman merged commit b9dfc30 into ueman:master Sep 18, 2025
1 check failed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants