まだどこにもないアプリを作る

アプリ開発でつまづいたところなどを中心に記事にして行きます。

Swift 自分用メモ tableView.allowsSelectionDuringEditing = trueの意味

developer.apple.com

 

詳しくは一応↑に載っています

 

tableView.allowsSelectionDuringEditing = true

にすると

tableViewがisEditing(編集画面)の時にtableViewのセルが押せるようになる

isEditingの時でも

didSelectRowAtが反応するようになる。

 

tableView.allowsSelectionDuringEditing = false

だと反応しない。

 

multipleSelectionの際などの選択にはおそらく関係ない

Swift RealmSwiftにて データモデルのクラス名を"List"にしてはいけない

RealmSwiftにて

データモデルのクラス名を"List"にしてはいけない

 

以下のようなデータモデルで作った

class Todo: Object {

    @objc dynamic var name = ""

    @objc dynamic var done = ""

    @objc dynamic var priority = ""

    @objc dynamic var createdDate = Date(timeIntervalSince1970: 1)

    @objc dynamic var isCheckMark = false

    @objc dynamic var listNumber = 0

    

    var parentCategory = LinkingObjects(fromType: TodoList.self, property: "items")

}

 

class List: Object {

    @objc dynamic var title = ""

    @objc dynamic var color = "a6a6a6"

    @objc dynamic var isMemoMode = false

    @objc dynamic var reorderNumber = 0

    @objc dynamic var todoListNumber = 0

    let items = List<Todo>()//エラー発生

}

let items = List<Todo>()

何故かここでエラー(Cannot specialize non-generic type 'List')が発生してしまうんです。

 

Realm内部の変数名・型名とかと重複してしまうからでしょうか?

 

私の場合は"TodoList"に改名しました。そうすると

 

 Build Succeedするんですよね。

 

あ〜〜〜

 

Macで動画を特定のフレームレート(fps)に変える方法。

Macで動画を特定のフレームレート(fps)に変更する方法

 

フレームレートを特定の数値にしたい方に紹介いたします。

 

こちらの記事を参考にさせていただきましたので、つまづいた場合はこちらもご覧ください。

Homebrewのインストール - Qiita

App Store ConnectにAppプレビューを載せる - Qiita

 

Macのターミナルでffmpegというツールを使ってフレームレートに変更していきます。

ffmpegを入れるためにはHomebrewのインストールがまず必要なんです。

 

1.Homebrewのインストール

まずHomebrewというものをMacで使えるようにします。

もうすでに入れている方は省略して構いません。

 

↓のHomebrew公式サイトに飛んでインストールの下にあるコードをコピー

macOS(またはLinux)用パッケージマネージャー — Homebrew

 

f:id:rils_k:20210203181627p:plain

 

 

ターミナル開きます。

ターミナルはこれですよ。

 

f:id:rils_k:20210203190621p:plain

 

 

f:id:rils_k:20210203182044p:plain

ターミナルを起動したら何もいじらずに,

先ほど Homebrew公式サイトからコピーしたコード

⌘+Cでそのまま貼り付けます。

 

そしてEnterキーを押す。

そうするとパスワードを求められるのでパソコンのパスワードを入力してください。

f:id:rils_k:20210203181859p:plain

 

これでHomebrewのインストールされると思います。

インストールが完了されるまで少し待ってください。

文字の最後が%になっていたら完了しているということです。

 

もしつまづいた方は他のサイト様なども参考にしてみてください。

Homebrewのインストール - Qiita

 

 

2.ffmpegのインストール

今度は先ほどインストールしたHomeBrewを使って

ffmpegというものをインストールしていきます。

brew install ffmpeg

とターミナルに入れてエンターキーです。

 

先ほど起動したターミナルのコードの続きに書いても良いですが

気になる方はここで、ターミナルのバツ印を押してまた起動すれば最初からになります。

 

まあ %という文字に空白を一つ開けて入力すれば良いです。

f:id:rils_k:20210203183025p:plain

 

これでエンターキー。

インストールが完了されるまで少し待ってください。

先ほどと同じく文字の最後が%になっていたらインストール完了しているということです。

 

これでffmpegというツールで動画を編集する準備が整いました。

 

3.ffmpegでフレームレート変更

フレームレートを変更したい動画のファイルパスを取得しましょう。

 

Finderで動画のファイルの位置まで行って右クリック。

ここでOptionキーを押すと普通なら「"~"をコピー」のところが

「"~"のパス名をコピー」になるのでそれを押します。

f:id:rils_k:20210203184334p:plain

これでファイルパスを取得できました。

 

次にメモ帳などでこのコードを作ってください。

f:id:rils_k:20210203191708p:plain

 

 

説明

ffmpeg -i /Users/xxx/Documents/元ファイル.mp4 -filter:v scale=1080:1920 -r 30 /Users/xxx/Documents/編集後.mov

には先ほどコピーした動画のファイルパスを入れます。人により異なります

 

水色が編集後の動画のピクセルサイズを入れます。元の動画のピクセルサイズでOKです。

 

がフレームレートになります。ここで設定したフレームレートになります。

 

が出力先のファイルパスとなります。人により異なります。めんどくさければ先ほどコピーしたファイルパスのファイル名だけを変更したものを入れてください。

 

スペースの有無などの間違えに注意しましょう。

 

 

このコードを先ほどと同じように

ターミナルに貼り付けてエンターキーを押します。

これで/Users/xxx/Documents/編集後.movの場所に

フレームレートが変換された動画が保存されます。

 

 

確認してみてください、

 

 

 

 

お疲れ様でした。難しめですよね。めんどくさいですよね

もしわかりにくかったらすみません。ほんと

参考になれば幸いです。

 

 

 

 

 

 

 

 

 

(゚∀゚)!!!!!!!!!!

 

 

 

 

 

 

 

 

 

 

動画の大きさをトリミング,リサイズするならこのサイトがいい。余白を埋める、ピクセル指定、端をカット,切り抜きなど

かなりいい動画トリミングサイトを見つけました。

動画の余白を黒で埋めたり

動画の端をカットしたり

動画の大きさのピクセル数を指定したりできます。

英語ですが頑張っていこ〜!

 

↓のリンクからサイトに飛んでください。

www.resize-video.com

 

1,ファイルを選択

f:id:rils_k:20210203164107p:plain

Browseを押して編集したい動画ファイルを選択

 

2.動画トリミング方法を選択

f:id:rils_k:20210203164437p:plain

 

1番上Scale the video.....

は元動画ファイルのタテヨコ比率をキープしてリサイズします。

横の長さだけ設定できます。

 

2番目のResize and crop....

は指定したピクセルの大きさに動画をカットしてくれます。

はみ出た部分はカットされます。

 

3番目のResize the video and....

は指定指定したピクセルの大きさで動画の足らない部分を黒く塗りつぶしてくれるという機能です!

 

1番目と2番目の機能はどこの動画編集サイトにもありますが、

3番目の機能はかなり珍しい機能ですし便利です。

 

3.Upload Videoを押す

f:id:rils_k:20210203165403p:plain

 

4.Download Fileを押して編集し終わったものをダウンロードして確認しましょう。

f:id:rils_k:20210203165529p:plain

 

 

基本的な編集はこのサイトがおすすめです、是非使ってみてください!

 

swift 配列 何番目にあるかを取得firstIndex lastIndex

swift 配列 特定の要素が何番目にあるかを検索する方法

 

let array = ["A", "B", "B", "B", "C", "D"]

 

//先頭から順に探して行って最初に見つかったときの配列番号

let firstIndex = array.firstIndex(of: "B")!

//1番最後の要素から順に探して行って最初に見つかったときの配列番号

let lastIndex = array.lastIndex(of: "B")!

 

print(firstIndex)//1

print(lastIndex)//3

 

 

 

TwitterのWebサイトの欄に自分の作ったアプリとかを載せたいとき、「URLが長すぎる」、「URLが無効」とか言われるときの対処法。

App storeのURL短縮方法 自己流

 

 

TwitterのWebサイトの欄に自分の作ったアプリとかを載せたいとき、「100文字以下にしてください」、「有効なWebサイトのURLを入れてください。」とか言われる対処法。

 

 

App Storeの共有ボタンからそのままコピーするとこれですよね↓

https://apps.apple.com/jp/app/%E7%A6%81%E3%81%98%E3%82%89%E3%82%8C%E3%81%97%E3%83%90%E3%83%8A%E3%83%8A-%E3%82%B7%E3%83%A5%E3%83%BC%E3%83%AB%E3%83%A9%E3%83%B3%E3%83%80%E3%83%A0/id1498725788

これだとURLが長すぎると言われてしまう

 

次にこれがパソコンでApp StoreのWebサイトからみたときのURL

https://apps.apple.com/jp/app/禁じられしバナナ-シュールランダム/id1498725788?l=en

これだとURLが無効と言われてしまいます。多分日本語が入っているからだと思います。

 

なので試しに短縮してみました。App名のところを抜きます。↓

https://apps.apple.com/jp/app/id1498725788?l=jp

日本国内だけのアプリの場合は最後をenからjpにしてもいいと思います。

 

上のURLでもちゃんとTwitterからAppStoreへ遷移することができました。

 

 

自己流でやったやり方なので保証はしませんが一応できます。