Skip to content

iOS Keyboard Extension that suggests optimal reply candidates / 返信候補を提案するiOSキーボードアプリ

Notifications You must be signed in to change notification settings

yamadan96/MessageApp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

返信アシスト - iOS Keyboard Extension

相手のメッセージをコピーするだけで、最適な返信候補を3つ提案するiOSキーボードアプリです。

プロジェクト構成

MessageApp/
├── MessageApp/              # App本体 (SwiftUI)
│   ├── App.swift
│   ├── Views/
│   │   ├── OnboardingView.swift
│   │   ├── HomeView.swift
│   │   ├── PreferencesView.swift
│   │   ├── HistoryView.swift
│   │   ├── SetupGuideView.swift
│   │   └── PrivacyView.swift
│   ├── Info.plist
│   └── MessageApp.entitlements
├── MessageKeyboard/         # Keyboard Extension (UIKit)
│   ├── KeyboardViewController.swift
│   ├── KeyboardStore.swift
│   ├── Views/
│   │   ├── TopBarView.swift
│   │   ├── ParamsView.swift
│   │   └── SuggestionCardView.swift
│   ├── Info.plist
│   └── MessageKeyboard.entitlements
└── Shared/                  # 共有モジュール
    ├── Models/
    │   ├── Preferences.swift
    │   ├── Suggestion.swift
    │   └── HistoryItem.swift
    ├── Services/
    │   ├── AppGroupStorage.swift
    │   ├── SuggestionService.swift
    │   └── FallbackTemplates.swift
    └── Networking/
        └── APIClient.swift

セットアップ

1. Xcodeプロジェクト作成

  1. Xcodeを開き、File > New > Project を選択
  2. App テンプレートを選択
  3. 以下の設定で作成:
    • Product Name: MessageApp
    • Bundle Identifier: com.yourcompany.messageapp
    • Interface: SwiftUI
    • Language: Swift

2. Keyboard Extension追加

  1. File > New > Target を選択
  2. Custom Keyboard Extension を選択
  3. 以下の設定で追加:
    • Product Name: MessageKeyboard
    • Bundle Identifier: com.yourcompany.messageapp.keyboard

3. App Group設定

  1. 両方のターゲット(App, Keyboard Extension)で Signing & Capabilities を開く
  2. + Capability から App Groups を追加
  3. App Group ID を設定: group.com.yourcompany.messageapp

4. ソースコードをプロジェクトに追加

このリポジトリのソースファイルをXcodeプロジェクトにドラッグ&ドロップしてください。

  • MessageApp/ → App本体ターゲットに追加
  • MessageKeyboard/ → Keyboard Extensionターゲットに追加
  • Shared/ → 両方のターゲットに追加(Target Membershipで両方にチェック)

5. API設定

Shared/Networking/APIClient.swiftbaseURL を実際のAPIエンドポイントに変更:

static let baseURL = "https://your-api.example.com"

6. App Group ID設定

Shared/Services/AppGroupStorage.swiftappGroupIdentifier を変更:

static let appGroupIdentifier = "group.com.yourcompany.messageapp"

動作確認

  1. シミュレータまたは実機でビルド&実行
  2. 設定 > 一般 > キーボード > キーボード > 新しいキーボードを追加 から「返信アシスト」を追加
  3. 「フルアクセスを許可」をオン
  4. メモアプリ等でキーボードを切り替えて動作確認

機能

  • クリップボード取り込み: 相手のメッセージをコピーして「取り込み」をタップ
  • 返信生成: AIが最適な返信候補を3つ提案
  • パラメータ調整: トーン(丁寧/ふつう/くだけ)、長さ、絵文字の有無
  • 目的選択: 断り/謝罪/日程/催促/お礼/質問/了解
  • 挿入/コピー: 候補をタップして入力欄に挿入またはコピー
  • オフライン対応: 通信できない場合はテンプレートで代替

ライセンス

MIT License

About

iOS Keyboard Extension that suggests optimal reply candidates / 返信候補を提案するiOSキーボードアプリ

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages