Skip to content

Instantly share code, notes, and snippets.

View aleross's full-sized avatar

Alex Ross aleross

View GitHub Profile

PromptService for iOS SwiftUI

Overview

The PromptService is a Swift class designed to parse JSON prompt data from API responses and present native iOS alerts or action sheets to the user in a SwiftUI app.

Installation

  1. Copy the PromptService.swift file into your Xcode project.
  2. Ensure you have the necessary model structs and enums (Prompt, PromptButton, ButtonStyle, ButtonAction) in your project.
@aleross
aleross / prompt.swift
Last active June 22, 2024 00:39
Sample code for prompt API response parser
import SwiftUI
class PromptService: ObservableObject {
@Published var isPresented = false
private var prompt: Prompt?
private var completionHandler: (() -> Void)?
func presentPrompt(from json: [String: Any], completion: (() -> Void)? = nil) {
guard let promptData = try? JSONSerialization.data(withJSONObject: json, options: []),
let decodedPrompt = try? JSONDecoder().decode(Prompt.self, from: promptData) else {
<html>
<body>
<h1>My web app</h1>
</body>
</html>