はじめに
本記事では、iPhone から OSC (Open Sound Control) メッセージを送信する簡単なサンプルアプリを作成し、Mac で受信・確認するまでの一連の流れを解説する。
OSCKit のインストール
OSCKit を Swift Package Manager を用いてインストールする。OSCKit に合わせて自動で CocoaAsyncSocket と SwiftASCII もインストールされる。
送信側のプログラム
ボタンを押すと指定された宛先に OSC のメッセージを送信する簡単なサンプルアプリを制作した。Button0・Button1 はぞれぞれ 0・1 を送信する。
import SwiftUI
import OSCKit
let oscaddr = "/sample"
let daddr = "192.168.1.129"
let dport: UInt16 = 12000
let oscClient = OSCClient()
struct ContentView: View {
var body: some View {
VStack {
Button("Button0") {
let msg = OSCMessage(oscaddr, values: [Float(0)])
do {
try oscClient.send(msg, to: daddr, port: dport)
} catch {
print("error")
}
}
Button("Button1") {
let msg = OSCMessage(oscaddr, values: [Float(1)])
do {
try oscClient.send(msg, to: daddr, port: dport)
} catch {
print("error")
}
}
}
}
}
#Preview {
ContentView()
}
送信の処理は公式のドキュメントを参考にした。
以下の環境でビルドして iPhone にインストールした。
| バージョン | |
|---|---|
| MacOS | Sonoma 14.5 |
| iOS | 18.1.1 |
| Xcode | 16.0 |
実行
受信の確認には OSC メッセージをリアルタイムに表示するツールである Protokol を用いた。iPhone と Mac の IPアドレスは以下の表の通りである。iPhone から送信された OSC メッセージを Mac で受信できていることを確認した。
| IPアドレス | |
|---|---|
| iPhone | 192.168.1.128 |
| Mac | 192.168.1.129 |
補足
iPhone に「信頼されていないデベロッパ」と表示されるとき
以下の記事を参考に解決した。
OSCKit をインストールしても Xcode で反映されないとき
"General" → "Frameworks, Libraries and Embedded Content" から OSCKit を追加 (Package セットする)


