【Apple Script】ドラッグ&ドロップとフォルダの選択

Automator を使って、シェルスクリプトで引数を受けた後、apple script に渡すというアプリを作ってみた。 ・シェルスクリプトを実行 for f in "$@" do echo "$f" done ・apple script を実行 on run argv set folderPath to (item 1 of argv) as string if …

サクラチェッカーを使いやすくするブックマークレット

↓こちらの記事でも書きましたが、サクラチェッカーをスムーズに使えるように、Javascriptでブックマークレットを作りました。 www.nanigoto.net javascript:(function(){var str = document.documentElement.innerHTML;var search_str = '

【Apple Script】ターミナルから引数を得る

ターミナルで以下のようにコマンドを打つと、 --/usr/bin/osascript /test.scpt arg1 arg2 スクリプト実行時に、引数が得られる。 on run argv if (count of argv) > 0 then --argv = {"arg1", "arg2"} -- 引数ありの場合の処理 --log (item 0 of argv) --こ…

【Apple Script】Safariでウィンドウが開いていない時も対応してみる

Safariのアプリは起動しているが、ウィンドウが開いていない時があり、 スクリプトが落ちていたので、対応してみた。 window 1 を使ってコケたら、try 〜 catch でひろって、新規でタブを開いてみた。 command + T で、新規で「タブを開く」だけど、ウィンド…

【Apple Script】キーボードのキー送信でエラーになる

Macのスクリプトエディタ上で、 keystroke "N" using {shift down, command down} など、 Apple Script のショートカットキーの設定を実行すると、 「System Eventsでエラーが起きました: スクリプトエディタにはキー操作の送信は許可されません。」 という…

【Apple Script】自動でSafariを開いてボタンをクリックするスクリプト

Apple Script + Safari でプログラム開発する時は、Javascript も使えるように、 support.apple.com 「Safari」>「環境設定」と選択して、「詳細」をクリックして、「メニューバーに“開発”メニューを表示」を選択します。 「Apple Event からJavascript を…

【Selenium】Firefox を Python から操作してみる

Python で Firefox を操作する時は、geckodriver が必要になる。 github.com ダウンロードしたら、/usr/local/bin に入れておく(または、任意の場所に入れてPATHを通しておく)。 Firefox Developer Edition.app をダウンロードしておくとよい。 www.mozill…

【SwiftUI】左右非対称のものをセンターで分ける

SwiftUIでHStackを使い、同じ四角形を横に3つ配置したら、 struct ContentView: View { var body: some View { VStack{ HStack { ChildView() ChildView() ChildView() } HStack { ChildView() ChildView() ChildView() } } } } struct ChildView: View { v…

【iOS】オリジナルのキーボードを作ってみる

iOS

↓こちらのサイトを参考にして、オリジナルのキーボードを作ってみました。 qiita.com テキスト入力エリアをタップすると、オリジナルのキーボードが出てきました。 ボタンを押すと、テキストが追加されます。 「Next」ボタンを押すと、別のキーボードに遷移…

【SwiftUI】BindableObject が ObservableObject に変わっていた

iOS13 の Beta 5 では、BindableObject が ObservableObject に変わっていた。 import SwiftUI import Combine final class DispMng: ObservableObject { @Published var display:String = "" static let shared = DispMng() } 入力 DispMng.shared.display …

【SwiftUI】AVPlayer を使って動画を再生してみた

SwiftUI で 動画を再生する方法がわからなかったので、調べてみた。 ↓こちらのサイトを参考にしました。 stackoverflow.com import SwiftUI import AVKit struct ContentView : View { var body: some View { PlayerView() } } struct PlayerView: NSViewRep…

【SwiftUI】BindableObject を試してみる

BindableObject を試してみた。 www.hackingwithswift.com シングルトンパターンで合わせたら、どこからでも参照できて、編集もできた。 yuu.1000quu.com Beta 4 import SwiftUI import Combine final class DispMng: BindableObject { let willChange = Pas…

【Xcode】で git 管理してみる

git-hub のサーバーを使って、Xcode で使用しているファイルを管理してみました。 あらかじめ、git-hubでアカウントを登録しておきます。 github.com mac パソコンには、最初から git がインストールされています。 Xcode からの git の設定については、 ↓こ…

【SwiftUI】Action Sheet を作ってみる

↓こちらのサイトを参考にして、Action Sheet を作ってみた。 medium.com ActionSheet のタイトル部分も、動的に変わるようにしてみたけど、最初の1回だけ値が入らない。バグ? import SwiftUI struct ContentView : View { @State private var selectID:Str…

【SwiftUI】Lottie Animations を動かしてみる

↓こちらで、SwiftUI-DesignCode のプロジェクトをダウンロードします。(Lottie のパッケージは既に入っています) designcode.io ↓こちらは、Lottie のパッケージ 。 github.com ↓こちらの動画を参考にして、Lottieのアニメーションを確認します。 www.yout…

【SwiftUI】タップイベントとアラート

タップイベントとアラートのサンプル。 www.youtube.com import SwiftUI struct ContentView : View { @State var numberOfTaps = 12 @State var isZero = false var body: some View { let tap = TapGesture() .onEnded { _ in if self.numberOfTaps > 0 { …

【SwiftUI】WebAPI を使ってみる

Fetching Data from Web API and Displaying Using SwiftUI www.youtube.com ContentView.swift struct ContentView : View { @State var model = PostListViewModel() var body: some View { List(model.posts) { post in Text(post.title) } } } PostList.…

【SwiftUI】ビューの初期イベントで state 変数に値を入れてみる

@State var で宣言した変数に、 ビューが表示されるタイミングで、初期値を入れたい。 ということがありました。 import SwiftUI struct ContentView : View { let list:[String] = ["Test01", "Test02", "Test03", "Test04"] @State var testName:String = …

【SwiftUI】モーダル表示をしてみる

↓ こちらの動画を参考にして、SwiftUI で モーダル表示をしてみました。 www.youtube.com import SwiftUI struct DitailView : View { @Environment(\.isPresented) private var isPresented var body: some View { Button(action: dismiss){ Text("Dismiss"…

【Xcode】「developer tools accessはデバッグを続行するために別のプロセスを制御する必要があります」のメッセージを消したい

Xcode から Simulator を起動させようとしたら、 developer tools accessはデバッグを続行するために別のプロセスを制御する必要があります というダイアログメッセージが出て、パスワードを求められました。 パソコンを起動して1回でも認証が通ったら、そ…

【iOS13】SwiftUI で DarkMode を設定してみる

iOS13で、DarkMode が設定できるようなので、 SwiftUI を使ってやってみました。 Color.gray や Color.primary など、既存のものであれば勝手に変わってくれますが、 カスタムで色を設定する方法を試してみます。 Assets.xcassets を使います。 Assets.xcass…

【Mac】macOS Catalina では デフォルトで bash_profile を読み込まない?という話

Mac

mac で、新しいOSの Catalina (Beta版) を入れたので、 PATHを通そうとしました。 いつも通り、「.bash_profile」 に 設定をしたけど、 ターミナル起動時に、なぜか読み込まれませんでした。 bash ではなく、zsh を使っているという記事を見つけたので、 qii…

【Mac】スナップショットの保存先を変更する / フローティングサムネールを消す

Macで、スナップショットをとると、デスクトップに画像が散らかってしまうので、 指定のフォルダに保存したいと思いました。 あと、右下に出てくるプレビュー(フローティングサムネール)は、要らないと思ったので、非表示にしました。 www.eisbahn.jp Comm…

javascript から別サーバーのPHPファイルを呼び出す

javascript のファイルから、別サーバーのPHPファイルを呼び出したかったので、 ↓こちらのサイトのやり方をしてみました。 hirapi.hatenablog.jp 呼び出すPHPファイル側のコードで許可してあげる。 header('HTTP/1.0 200 OK'); header('Access-Control-Allow…

【Javascript】疑似ヒアドキュメントを使ってみる

PHPのように、Javascript でヒアドキュメントが使えないか調べていると、 ありました。擬似的なものだけど。 jun8man.hatenablog.com

【Javascript】テキストを読み上げる

Javascript だけで、テキストを合成音声で再生できました。 // 日本語音声で読み上げ var speech = new SpeechSynthesisUtterance(); speech.lang = 'ja-JP'; speech.text = text; speechSynthesis.speak(speech); an.hatenablog.jp 細かいオプションの設定 …

【Javascript】自身の要素をHTML文字列で取得

javascript や jquery で 要素内のタグを取得するのは、innerHTML などでできるけど、 自身の要素はどうやって取得するのだろうと思っていたら、関数を作っている人がいました。 shanabrian.com (function($) { $.fn.selfHtml = function(targetIndex) { var…

ターミナルを使って自動でwifiに接続する

家の古いMacパソコンが、再起動するたびに、自動でwifiに接続しなくなってしまいました。 OSをアップデートするたびに、接続されたり、されなかったり・・・。 いっそのこと、パソコン起動時に、シェルを使って自動的に接続させることにしました。 titirobo-…

プロセス完了後のターミナル ウィンドウを自動で閉じる

ターミナルウィンドウが残るのをどうにかしたかったので、 ↓こちらのサイトを参考に、自動で閉じるようにしました。 mono96.jp ターミナル → 環境設定 → プロファイル → シェル → シェルの終了時(シェルが正常に完了した場合は閉じる)

【JavaScript】xpathを使ってみる

JavaScript で xpath を使用したいことがあったので、メモ。 qiita.com input テキストに値を入れる場合は、↓こんな感じ。 var nodesSnapshot = document.evaluate(【xpath】, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null ); nodesSnapsh…