Skip to content

Instantly share code, notes, and snippets.

SUZUKI Tetsuya szktty

Block or report user

Report or block szktty

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View jsdiet.re
type jsType =
| Null
| Undefined
| Boolean
| Number
| String
| Array
| Object
| Function;
@szktty
szktty / WebRTCBuildGuide.md
Last active Apr 13, 2019
詳解 WebRTC ビルド
View WebRTCBuildGuide.md

詳解 WebRTC ビルド

以下の内容は M63 時点の情報です。

WebRTC ライブラリのソースコードはサイズが 6GB 以上あってダウンロード時間でペヤングが 100 個は食べられるほどで、ビルドするにも Mac Pro の 12 コアをフル回転させて 1 つのアーキテクチャにつき最低 15 分はかかります。その上ビルドは相当に複雑な構成をしており、全地球のプログラマの寿命を戦闘機のカタパルトで助走をつけて殴っていいレベルで削らせるブラックなボックスです。あまりに自力ビルドの難易度が高いので WebRTC Build Scripts というビルドスクリプトも登場しましたが、最近ビルド方法が大きく変更されたために残念ながらこのビルドツールの内容は古くなってしまいました。

幸い iOS では公式ビルドのバイナリをダウンロードできるようになりました。 ところが「これで iOS はすべて解決!」とも言えません。 WebRTC のビルドには様々なオプションが用意されており、公式ビルドはあくまで特定のオプションの組み合わせの一つです。残念なことに用途によっては公式ビルドでカバーできない場合もあり、気軽に依存できない状況もあると思います。 時雨堂の WebRTC SFU Sora とかそうです (宣伝)。

この記事の目的は、ビルドの各手順の意味を把握してもらうことです(理解とは言ってない)。おそらく自力ビルドせざるを得ない人はほとんどいないと思いますが、万が一の場合に参考になれば幸いです。

@szktty
szktty / WebRTCAPIGuide.md
Last active May 4, 2019
WebRTC ネイティブ iOS ライブラリ API ガイド
View WebRTCAPIGuide.md

WebRTC ネイティブ iOS ライブラリ API ガイド (M62)

Safari が WebRTC に対応したり、 React-Native があったりと、 WebRTC を使う iOS アプリの開発ではネイティブライブラリ (WebRTC.framework) + Swift を使わない選択肢も十分あります。でも最終的に手の込んだことをやろうとすると、もしくは最新のリリースブランチを使うとなると、ネイティブライブラリに頼らざるを得ません。いかんせんネイティブライブラリの情報が少なくて辛いですね。参考になれば辛い、いえ幸いです。

ここで扱うのはメディアチャネルのみです。データチャネルについては扱いません。知りませんので。ビルドについても扱いません。なんとかしてください。

私は主に商用 WebRTC SFU SoraiOS SDK を開発しており、そのため以下の内容が環境に依存してしまっている可能性があります。その場合はご指摘頂けると助かります。

Swift での利用

View hello.ml
open Core.Std
let main () =
let s = String.concat ~sep:" " ["Hello,"; "world!"] in
Printf.printf "%s\n" s
let () =
main ()
View actor.swift
import Foundation
public class Actor<Message> {
var messageHandler: (Message) -> ()
public required init(messageHandler: @escaping (Message) -> ()) {
self.messageHandler = messageHandler
}
View VW-fontsize2.rst

VisualWorks のフォントサイズを変更する (「じゅん」を使う)

@sumim さんから「 じゅん 」を使ってフォントサイズを変更する方法を教えていただいた。こっちのほうが OS にインストールされているフォントも使えて簡単だった。ただ、こちらもフォントによっては描画とカーソルの位置がずれることがある。

  1. まず、「じゅん」をインストールする。ランチャーのメニューから "System" -> "Load Parcels Named..." を選択する。 Parcel というのは、 VisualWorks のパッケージシステム。ウィンドウが開いたら、テキストフィールドに "Jun" と入力して検索し、 "OK" をクリックしてインストールする。

    https://dl.dropboxusercontent.com/u/131997/gist/visualworks/fontsize/parcel.png
View VW-fontsize.rst

VisualWorks のフォントサイズを変更する

(2013/4/25) 追記: 「じゅん」を使う方法

システム設定で指定できるフォントサイズが small, medium, large からしか選べないので、 large のフォントサイズを直接変更してみた。結論から言えば、ワークスペースで次のコードを評価すればいいが、せっかくなので画像つきで。

(TextAttributes.TextStyles at: #large) scalingFactor: 1.6
View iOS-iconsets.rst

iOS アプリケーション用のアイコンセット

名前 価格 ライセンス アイコン数 フォーマット サイズ
`Free Vector Web Icons`_   非商用可, 商用可 91 PNG, PSD 48x48
`ICONBEAST LITE`_   非商用可, 商用可 300 PNG 30x30
`ICONBEAST PRO`_ $75 非商用可, 商用可 1700 PNG 30x30
View UIGlossyButton.rst

UIGlossyButton

https://github.com/waterlou/UIGlossyButton

https://dl.dropboxusercontent.com/u/131997/gist/UIGlossyButton/UIGlossyButton.png

電話アプリや赤い "Delete" ボタンのようなグラデーションのかかったボタンを作れる MIT ライセンスのライブラリ。 UIButton のサブクラスだから Interface Builder でも扱える。いくつかソースをコピーするだけでいいので、このライブラリを使うのが最も簡単そう。

You can’t perform that action at this time.