Menu

Skip to content
AppleScriptの穴
  • Home
  • Products
  • Books
  • Docs
  • Events
  • Forum
  • About This Blog
  • License
  • 仕事依頼

AppleScriptの穴

Useful & Practical AppleScript archive. Click '★Click Here to Open This Script' Link to download each AppleScript

タグ: 15.0savvy

相対年月を計算(月の相対指定)v4

Posted on 7月 5, 2024 by Takaaki Naganoya

現在日時からの相対月計算を行うAppleScriptです。

# 実戦投入してみたらマイナス月で不具合が出たので修正しました

カレンダー計算を行うのは、たいてい「日」単位です。

相対日では、今日(day ±0)、昨日(day -1)、一昨日(day -2)、翌一昨日(day -3)、明日(day +1)、明後日(day +2)、明々後日(day +3)など英語に翻訳できない、日本語特有の相対日指定の予約語を処理すべく、「日」ベースのカレンダー計算についてはやたらとAppleScriptで強力なルーチンを作りためてきました。

たまたま、「月」単位の相対計算を行う必要があった(ストック分に存在していなかった)ので、作ることになりました。たいがいの基礎ルーチンは作り置きがあるのですが、本当にこうして基礎ルーチンを作ったのは久しぶりです。

本当は固定で「現在月-2」の計算だけができればよかったのですが、±100か月ぐらいの範囲で動作確認したルーチンを作り置きしておきたいところです。気乗りしなかったので、ChatGPTに問い合わせてみたら、monthを秒で表現するタイプのルーチンを提案してきて、しかも内容が間違っていたので(構文確認を通過しないような内容を提案してくださります)、しぶしぶ作ってみました。ChatGPTが提案してきた作り方だと、おおよそ概算で500か月ぐらいの計算を行うと月単位の誤差が出てしまいます。

ChatGPTが「AppleScriptでrepeatループに0は指定できないよ?」とかの嘘を山のように出力してくるので、本当に初心者が使うと目が回るはずです(配列の要素が1から始まるのを「repeatで指定できない」という謎の過学習を発生させたもよう。ユーザーが間違ったフィードバックをやらかしている???)。

幾度かのアップデートを経て、完成しました。完成したといってよいのか? なんか無駄な処理が異様に多いような気もするのですが、結果が正しいのでよしとしましょう。

Cocoaの自然言語系の処理を用いて楽をして相対日付を処理しようかと試してみたものの、「本日」をtodayとしてピックアップしてしまうので、「本日から2か月前」といった認識ができませんでした。「現在のカレンダー」云々というのはCocoaの機能を使って処理しようとしていた頃のなごりです。

AppleScript名:相対年月を計算(月の相対指定)v4.scpt
use AppleScript
use scripting additions
use framework "Foundation"

repeat with i from 1 to 12
  set curDate to getDateInternational(2024, i, 1) of me
  
log curDate
  
set {yNum1, mNum1} to retYMbyRelativeMonth(curDate, -2) of me
  
log {yNum1, mNum1}
end repeat

on retYMbyRelativeMonth(curDate, relativeMonth)
  set yNum to (year of curDate) as number
  
set mNum to (month of curDate) as integer
  
set dNum to day of curDate
  
  
if relativeMonth = 0 then return {yNum, mNum}
  
  
set mDiff to (mNum + relativeMonth)
  
  
if mDiff ≤ 0 then
    –log {"case 1"}
    
set yDiv to (mDiff) div 12
    
set mNum to 12 + ((mDiff) mod 12)
    
set yNum to yNum + (yDiv) – 1
    
  else if mDiff > 12 then
    –log {"case 2"}
    
set yDiv to (mDiff – 1) div 12
    
set mNum to ((mDiff – 1) mod 12) + 1
    
set yNum to yNum + yDiv
    
  else
    –log {"case 3"}
    
set mNum to mDiff
  end if
  
  
return {yNum, mNum}
end retYMbyRelativeMonth

–現在のカレンダーで指定年月のdate objectを返す
on getDateInternational(aYear, aMonth, aDay)
  set theNSCalendar to current application’s NSCalendar’s currentCalendar()
  
set theDate to theNSCalendar’s dateWithEra:1 |year|:aYear |month|:aMonth |day|:aDay hour:0 minute:0 |second|:0 nanosecond:0
  
return theDate as date
end getDateInternational

★Click Here to Open This Script 

Posted in Calendar | Tagged 12.0savvy 13.0savvy 14.0savvy 15.0savvy | Leave a comment

メキシカンハットの描画

Posted on 6月 28, 2024 by Takaaki Naganoya

X(旧称Twitter)の一部で流行っている、むかーーしむかしのBASIC処理サンプルの1つ、メキシカンハット型グラフの描画AppleScriptです。

–> Download full script bundle with libraries

自分もChipmunk BASIC用に移植して投稿していたのですが、AppleScriptにフル書き換えするとどんなもんだと思い、書いてみました。

関数演算ライブラリは、自作のcalcLibASがあるので、これを使い、画像のダイアログ表示用ライブラリを使って画面表示。

AppleScriptでも1秒ぐらいで処理が終了してしまいますが、黒地に緑で描画すると、謎の「味」があります。

AppleScript名:メキシカンハット v2.scptd
— Created 2024-06-28 by Takaaki Naganoya
use AppleScript version "2.5"
use scripting additions
use framework "Foundation"
use framework "AppKit"
use mLib : script "calcLibAS"
use imgDispLib : script "imageDisplayLib"

property NSColor : a reference to current application’s NSColor
property NSString : a reference to current application’s NSString
property NSImage : a reference to current application’s NSImage
property NSScreen : a reference to current application’s NSScreen
property NSBezierPath : a reference to current application’s NSBezierPath
property NSBitmapImageRep : a reference to current application’s NSBitmapImageRep

–パラメータから下地になる画像を作成する
set aSize to current application’s NSMakeSize(300, 300)
set anImage to NSImage’s alloc()’s initWithSize:aSize
set backlColor to (NSColor’s colorWithCalibratedRed:0.0 green:0.0 blue:0.0 alpha:1.0)
set anImage to drawImageWithColorFill(anImage, {0, 0, 300, 300}, backlColor) of me

–描画色
set drawColor to (NSColor’s colorWithCalibratedRed:0.0 green:1.0 blue:0.0 alpha:1.0)

–Mexican Hat
set D to {}
set rDnum to pi / 180

repeat 256 times
  set end of D to 100
end repeat

repeat with y from -180 to 180 by 6
  repeat with x from -180 to 180 by 4
    set u to 120 + (x / 3) – (y / 6)
    
if u < 0 or u ≥ 240 then
      —
    else
      set r to rDnum * (sqrt ((x ^ 2) + (y ^ 2)))
      
set z to 100 * (cos (r – 30)) * (cos (3 * r))
      
set v to 40 – y / 6 – z / 2
      
      
if (item u of D) > v then
        set anImage to psetOnImage(anImage, {u, 256 – v}, drawColor) of me
        
copy v to (item u of D)
      end if
    end if
  end repeat
end repeat

–結果表示
dispImage(anImage, "Mexican Hat") of imgDispLib

on psetOnImage(anImage, posDat, fillColor)
  set retinaF to (NSScreen’s mainScreen()’s backingScaleFactor()) as real
  
–>  2.0 (Retina) / 1.0 (Non Retina)
  
  
anImage’s lockFocus() –描画開始
  
  
set origX to (item 1 of posDat) / retinaF
  
set origY to (item 2 of posDat) / retinaF
  
set sizeX to (1) / retinaF
  
set sizeY to (1) / retinaF
  
  
set theRect to {{x:origX, y:origY}, {width:sizeX, height:sizeY}}
  
  
set theNSBezierPath to NSBezierPath’s bezierPath
  (
theNSBezierPath’s appendBezierPathWithRect:theRect)
  
  
fillColor’s |set|() –色設定
  
theNSBezierPath’s fill() –ぬりつぶし
  
  
anImage’s unlockFocus() –描画ここまで
  
  
return anImage –returns NSImage
end psetOnImage

on drawImageWithColorFill(anImage, drawList, fillColor)
  set retinaF to (NSScreen’s mainScreen()’s backingScaleFactor()) as real
  
–>  2.0 (Retina) / 1.0 (Non Retina)
  
  
anImage’s lockFocus() –描画開始
  
  
set origX to (item 1 of drawList) / retinaF
  
set origY to (item 2 of drawList) / retinaF
  
set sizeX to (item 3 of drawList) / retinaF
  
set sizeY to (item 4 of drawList) / retinaF
  
  
set theRect to {{x:origX, y:origY}, {width:sizeX, height:sizeY}}
  
  
set theNSBezierPath to NSBezierPath’s bezierPath
  (
theNSBezierPath’s appendBezierPathWithRect:theRect)
  
  
fillColor’s |set|() –色設定
  
theNSBezierPath’s fill() –ぬりつぶし
  
  
anImage’s unlockFocus() –描画ここまで
  
  
return anImage –returns NSImage
end drawImageWithColorFill

★Click Here to Open This Script 

Posted in 3D dialog Image | Tagged 13.0savvy 14.0savvy 15.0savvy | 19 Comments

指定Bundle IDのアプリのsdefを指定フォルダに取り出す

Posted on 6月 27, 2024 by Takaaki Naganoya

新しいOSのベータ版や、古いOS環境のAppleScript用語辞書をまとめて取り出すために作成したAppleScriptです。

アプリケーションのバンドル内から直接sdefを取り出すと、他の要素を外部からincludeしているsdefでは「完全体」にならない(資料として価値がなくなる)ため、Script Editorで表示(レンダリング)させた状態のものをコピーするよう処理しています。

以前にもこうした種類のScriptを書いていたような気もするのですが、どこかに行ってしまいました。

macOSのバージョン、ビルドNo.などを取得し、コピーしたSDEFファイルに対象アプリのバージョン番号ともども記載するようにしています。

本Scriptはスクリプトエディタを操作するものであるため、Script Debuggerなどの他の実行プログラムから実行することが望ましいところです。

そして、macOS 15.0beta2でもScript Debuggerが起動しないため、肝心のmacOS 15Betaでsdef書き出しを自動化できていないという………

AppleScript名:指定Bundle IDのアプリのsdefを指定フォルダに取り出す.scpt
—
–  Created by: Takaaki Naganoya
–  Created on: 2024/06/27
—
–  Copyright © 2024 Piyomaru Software, All Rights Reserved
—
use AppleScript
use scripting additions
use framework "Foundation"
use framework "AppKit"

set aList to {"com.apple.iCal", "com.apple.AddressBook", "com.apple.databaseevents", "com.apple.finder", "com.apple.imageevents", "com.apple.mail", "com.apple.MobileSMS", "com.apple.Music", "com.apple.Notes", "com.apple.Photos", "com.apple.QuickTimePlayerX", "com.apple.reminders", "com.apple.Safari", "com.apple.ScriptEditor2", "com.apple.speech.SpeechRecognitionServer", "com.apple.systemevents", "com.apple.Terminal", "com.apple.TextEdit", "com.apple.TV", "com.apple.systempreferences"}

set targFol to POSIX path of (choose folder with prompt "SDEF収集先フォルダを選択")

–Get OS Version and Build Number
set sDic to current application’s NSDictionary’s dictionaryWithContentsOfFile:"/System/Library/CoreServices/SystemVersion.plist"
set osV to (sDic’s objectForKey:"ProductVersion") as string
set bNo to (sDic’s objectForKey:"ProductBuildVersion") as string

–Loop by Bundle IDs
repeat with i in aList
  set j to contents of i
  
set aRes to retPathFromBundleID(j) of me
  
set appAlias to (POSIX file aRes) as alias
  
  
set vRes to gepAppVersionByID(j) of me
  
  
tell application "Script Editor"
    open appAlias –Open App –> SDEF will be displayed
    
    
tell front document
      set docPath to path of it
    end tell
  end tell
  
  
do shell script "sync" –Important!!!!
  
  
set aP1 to (current application’s NSString’s stringWithString:(docPath as string))
  
set theName to aP1’s lastPathComponent()
  
set aP2 to (current application’s NSString’s stringWithString:targFol)
  
set newPath to (aP2’s stringByAppendingPathComponent:theName)
  
set aExt to (newPath’s pathExtension()) as string
  
set newPath to (newPath’s stringByDeletingPathExtension() as string) & "_v" & vRes & "@" & osV & "(" & bNo & ")." & aExt
  
  
–Copy SDEF file
  
set aRes to (my copyFileAt:aP1 toFilePath:newPath)
  
  
–Close SDEF
  
tell application "Script Editor"
    tell front document
      close without saving
    end tell
  end tell
  
end repeat

–バンドルIDからApp Fileのパスを求める
on retPathFromBundleID(aBundleID)
  set aURL to current application’s NSWorkspace’s sharedWorkspace()’s URLForApplicationWithBundleIdentifier:aBundleID
  
if aURL = missing value then return false –Error
  
return aURL’s |path|() as string
end retPathFromBundleID

–ファイルのコピー
on copyFileAt:origPOSIXPath toFilePath:newPOSIXPath
  set POSIXPath1 to current application’s NSString’s stringWithString:origPOSIXPath
  
set POSIXPath2 to current application’s NSString’s stringWithString:newPOSIXPath
  
set fileManager to current application’s NSFileManager’s defaultManager()
  
set theResult to fileManager’s copyItemAtPath:POSIXPath1 toPath:POSIXPath2 |error|:(missing value)
  
return (theResult as integer = 1)
end copyFileAt:toFilePath:

–バンドルIDで指定したアプリケーションのバージョン番号を文字列で取得する
on gepAppVersionByID(aBundleID)
  
  
set aURL to current application’s NSWorkspace’s sharedWorkspace()’s URLForApplicationWithBundleIdentifier:aBundleID
  
set theResult to {}
  
  
set theNSBundle to (current application’s NSBundle’s bundleWithURL:aURL)
  
  
if aURL is not missing value then
    set theVersionString to ((theNSBundle’s infoDictionary())’s objectForKey:"CFBundleShortVersionString")
    
    
if theVersionString is not missing value then
      return theVersionString as string
    end if
    
  end if
  
  
return ""
end gepAppVersionByID

★Click Here to Open This Script 

Posted in file sdef | Tagged 13.0savvy 14.0savvy 15.0savvy Script Editor | Leave a comment

AppleScriptによる並列処理

Posted on 6月 27, 2024 by Takaaki Naganoya

AppleScriptによる並列処理は、これまでにも何度かテストを行ってきました。

古くは、Mac OS X 10.5ぐらいの時代に行っていた、大量のEPS書類の破損チェック。これは、割と骨の折れる作業のうえに効果も大きかったので(実用性があって)よかったのですが、EPS書類を大量に扱う現場自体が一般的ではありません。また、macOS 13以降ではEPSを取り扱うAPI自体が廃止になり、実際に呼び出せなくなりました。

Intel Macの時代にノート機で並列処理(画像変換)を行ってみましたが、当時はSSDのI/O速度がボトルネックになって、並列化をすすめても変更前よりも速く処理することはできませんでした。

Intel Mac時代、たとえば4コア8スレッドのCPUでAppleScriptによる並列処理を行うと、4スレッド分動かすだけで割とCPUの処理が埋まるという状態になっていました。あとは、密度の高い処理を行うことで、CPUの熱問題に直面しやすくなったということもありました。外部機器により強制冷却といった話も必要になってきました(あるいは、デスクトップ機でやるとか)。

やがて、REST APIを呼び出す処理(とくに、高速メール送信など)といった、「並列処理すると効果が大きそうな用途」が見つかってきました。待ち時間が割と長いうえに、サーバー側の処理が多重化されているので、リクエストを大量に出せば大量に処理してもらえるという環境でもあります。

技術的には「十分に可能」な」レベルに基礎研究が進んできましたが、問題は「用途」です。

並列処理すると効果が大きくて、その速度的なメリットを多くのユーザーに共有できる「用途」。

この用途を見つけることが並列処理の大きなテーマになっていました。

最近「これならいけるのでは?」と考えている用途が、PDFのページごとの画像化処理です。

300ページ強のPDFを連番つきのJPEG画像に分割するのに、M1 Macでも1分ぐらいかかります。1ファイルあたり0.2秒以下で処理できているので十分に速いのですが、正直なところCPUの能力にはぜんぜん余裕がある状態ですし、1分も待たされるのはどうかと感じます。

これを並列処理化して、50パーセント程度の処理時間で完了できたら成功。これよりも短い時間で処理できたら大成功でしょう。

AppleScriptの並列処理については、macOSの並列処理用Frameworkを活用するのではなく、複数アプレットを同時起動し、それぞれのアプレットに指定のAppleScriptをローディング。中心となるAppleScriptから順次「手の空いている」アプレットに処理を割り振るという構造で動いています。

当初は、並列処理用アプレットをその場で生成して起動していたのですが、セキュリティ的にそのような運用が許可されなくなりそうだったので、「あらかじめ用意していたアプレットをCPUのコアの個数だけ起動」とかいった使い方をするように変化しました。

Posted in parallel processing | Tagged 13.0savvy 14.0savvy 15.0savvy | Leave a comment

GUI Scriptingに邪魔な各種パレットをクローズ

Posted on 6月 26, 2024 by Takaaki Naganoya

「操作自動化」の観点からするとメイン機能、「業務自動化」の観点からすると必要悪、操作対象のアプリのGUI部品の状況を想定どおりに設定しておけないと、Script動作の再現がなかなか大変なので、極力使わないでおきたいGUI Scripting。

PagesのAppleScript対応機能は必要な機能が呼び出せないのと、現在表示中のページ+5ページまでしか各種オブジェクトの属性値にアクセスできないので、書類の表示倍率を強制的に変更する必要があります。PagesのAppleScript用語辞書にそのような機能は実装されていないので、仕方なくGUI Scriptingで組むことに。

そんな中、各種パレットが表示されていると、パレットがwindow 1として認識されるため、作業前にパレットを消去しておく必要を感じました。

そこで、指定アプリのパレット表示状態を検知してクローズするAppleScriptを書いてみました。実行すると、

表示されている各パレットを、

順次クローズしていきます。

当初、もっと簡単にできるものとばかり思って、window 1(実際にはパレット)にcloseコマンドを実行したものの、それでは実行できず……地道にクローズボタンを探してclickするという処理内容になりました。

もっとお手軽に書いてしまってもよかったものの、日本語環境でだけ動くScriptというのも、それはそれでいまひとつなので(別に自分は日本語環境でだけ動けばよいのですが)、言語環境に依存しないように書いておきました。

よく使いそうな部品なので、ライブラリ化して呼び出すとよいでしょう。

AppleScript名:指定アプリのパレットウィンドウを閉じる.scpt
—
–  Created by: Takaaki Naganoya
–  Created on: 2024/06/26
—
–  Copyright © 2024 Piyomaru Software, All Rights Reserved
—

set aRes to closeAllPallettes("Pages") of me

on closeAllPallettes(appName)
  activate application appName
  
delay 0.1 –this number depends of how fast the CPU (slower CPU require larger number. 0,1 for M1)
  
  
tell application "System Events"
    tell process appName
      if (count (every window)) = 0 then return
      
repeat
        tell window 1
          set aSubrole to subrole
          
if (aSubrole = "AXFloatingWindow") or (aSubrole = "AXSystemFloatingWindow") then
            try
              set bList to every button whose subrole = "AXCloseButton"
              
set aButton to first item of bList
              
tell aButton to click
            end try
          else
            exit repeat
          end if
        end tell
      end repeat
    end tell
  end tell
  
  
return true
end closeAllPallettes

★Click Here to Open This Script 

Posted in GUI Scripting | Tagged 13.0savvy 14.0savvy 15.0savvy Pages | Leave a comment

macOS 15, Sequoia

Posted on 6月 14, 2024 by Takaaki Naganoya

WWDC24において、macOS 15, Sequoia(セコイア)が発表されました。

このところ、初期β版ではインストール最中に止まったまま動かなくなるなど「ひどい出来」でしたが、macOS 15ではそういうことはありませんでした。

AppleScriptのバージョンは引き続きv2.8。これは予想どおりです。次のmacOS 16でv2.9になるのか、そのままなのか……そこが注目点でしょう。macOS 15には「安定動作」を願いたいところです。

ひととおり、AppleScript対応のデフォルト搭載アプリケーションの用語辞書を調べてみたところ、差分が検出されたのはSafariのtabにpid(プロセスID)というプロパティが新設されたぐらい。個別にプロセスをkillするための仕掛けでしょうか。

このところ、不具合が出まくっていたText To Speechまわりで、大きな変更がありました。いろいろ読み上げ音声キャラクタが追加されています。ただし、AppleScriptのsayコマンドで指定可能な日本語読み上げキャラクタは、従来どおりKyoko、Otoyaぐらい。音声キャラクタ名がローカライズ表示されてしまうものについては、sayコマンドで指定できません。

macOS 15環境のAppleScriptは、いまのところ「macOS 14と同じ」ように感じられます。

つまり、macOS 14で知られているバグはmacOS 15でも同様に存在します。何も手が加わっていません。

サードパーティのアプリケーションが起動できないといった問題が存在していますが、これは初期βならではということでしょうか。

ちなみに、ウィンドウの吸着機能については、その日のうちにオフにしました。

システム設定>デスクトップとDock>ウィンドウに設定があるので、これらをすべてオフにするといい感じです。おそらく、自分は二度とこの機能をアクティブにすることはないでしょう。

macOS 15 AppleScript修正/バグまとめ

◯[追加] Safariのtabにpidプロパティが追加される
◯[修正] AppleScriptドロップレットにドロップしたファイル/フォルダが、xattr「com.apple.quarantine」の影響とGatekeeperの兼ね合いですべて受け渡されない現象がmcOS 10.12から継続して発生していたが、これが改められ、ドロップされたファイル/フォルダの欠損が発生しなくなった。なお、この変更がmacOS 13.xおよび14.xにもさかのぼって適用された。
◯[修正] 半角スペース文字列の数値への型変換で処理系自体がクラッシュするバグ(14.0, Sonoma Crasher)が解消

×[バグ] スクリプトエディタ上で「Cocoa-AppleScript Applet」のテンプレートから作成したアプレットが動作しない問題が継続中

×[バグ] スクリプトメニューから呼び出したAppleScriptの実行速度が、スクリプトエディタ上よりも6倍以上遅くなる現象が継続中
×[バグ] テキスト読み上げキャラクタのうち一部のキャラクタで名前がローカライズされてしまい、sayコマンドで指定できないバグが継続中(日本語環境限定バグ)

Posted in news | Tagged 15.0savvy | Leave a comment

Post navigation

  • Newer posts

電子書籍(PDF)をオンラインストアで販売中!

Google Search

Popular posts

  • macOS 26, Tahoe
  • Script Debuggerの開発と販売が2025年に終了
  • 【続報】macOS 15.5で特定ファイル名パターンのfileをaliasにcastすると100%クラッシュするバグ
  • NSObjectのクラス名を取得 v2.1
  • Xcode上のAppleScriptObjCのプログラムから、Xcodeのログ欄へのメッセージ出力を実行
  • Script Debuggerがフリーダウンロードで提供されることに
  • AppleScript Dropletのバグっぽい動作が「復活」(macOS 15.5β)
  • macOS 26, 15.5でShortcuts.app「AppleScriptを実行」アクションのバグが修正される
  • Dock Menu
  • 執筆中:AppleScript最新リファレンスver2.8対応(macOS 15対応アップデート)
  • Applicationのactivateを記録する v2
  • Appleに買収されたPixelmator ProがAppleとしての初アップデート
  • Claris FileMaker Pro 2025(v22)がリリースされた
  • Numbersで選択範囲のdateの年を+1する
  • macOS 15.5beta5(24F74)でaliasのキャスティングバグが修正された???
  • 複数の重複検出ルーチンを順次速度計測
  • シンプルな文字置換
  • NaturalLanguage.frameworkを用いて日本語テキストの形態素解析を行う
  • AS書類を書式で分解して再構成
  • スタイルつきテキストでスタイルつきテキストを検索 v1.1

Tags

10.11savvy (1101) 10.12savvy (1242) 10.13savvy (1391) 10.14savvy (587) 10.15savvy (438) 11.0savvy (283) 12.0savvy (212) 13.0savvy (204) 14.0savvy (159) 15.0savvy (166) 26.0savvy (36) CotEditor (67) Finder (53) Keynote (122) NSAlert (61) NSArray (51) NSBitmapImageRep (20) NSBundle (20) NSButton (34) NSColor (53) NSDictionary (28) NSFileManager (23) NSFont (21) NSImage (41) NSJSONSerialization (21) NSMutableArray (63) NSMutableDictionary (22) NSPredicate (36) NSRunningApplication (56) NSScreen (30) NSScrollView (22) NSString (119) NSURL (98) NSURLRequest (23) NSUTF8StringEncoding (30) NSView (33) NSWorkspace (20) Numbers (78) Pages (58) Safari (44) Script Editor (27) WKUserContentController (21) WKUserScript (20) WKWebView (23) WKWebViewConfiguration (22)

カテゴリー

  • 2D Bin Packing
  • 3D
  • AirDrop
  • AirPlay
  • Animation
  • AppleScript Application on Xcode
  • Beginner
  • Benchmark
  • beta
  • Bluetooth
  • Books
  • boolean
  • bounds
  • Bug
  • Calendar
  • call by reference
  • check sum
  • Clipboard
  • Cocoa-AppleScript Applet
  • Code Sign
  • Color
  • Custom Class
  • date
  • dialog
  • diff
  • drive
  • Droplet
  • exif
  • file
  • File path
  • filter
  • folder
  • Font
  • Font
  • GAME
  • geolocation
  • GUI
  • GUI Scripting
  • Hex
  • History
  • How To
  • iCloud
  • Icon
  • Image
  • Input Method
  • Internet
  • iOS App
  • JavaScript
  • JSON
  • JXA
  • Keychain
  • Keychain
  • Language
  • Library
  • list
  • Locale
  • Localize
  • Machine Learning
  • Map
  • Markdown
  • Menu
  • Metadata
  • MIDI
  • MIME
  • Natural Language Processing
  • Network
  • news
  • Newt On Project
  • Noification
  • Notarization
  • Number
  • Object control
  • OCR
  • OSA
  • parallel processing
  • PDF
  • Peripheral
  • process
  • PRODUCTS
  • QR Code
  • Raw AppleEvent Code
  • Record
  • rectangle
  • recursive call
  • regexp
  • Release
  • Remote Control
  • Require Control-Command-R to run
  • REST API
  • Review
  • RTF
  • Sandbox
  • Screen Saver
  • Script Libraries
  • Scripting Additions
  • sdef
  • search
  • Security
  • selection
  • shell script
  • Shortcuts Workflow
  • Sort
  • Sound
  • Spellchecker
  • Spotlight
  • SVG
  • System
  • Tag
  • Telephony
  • Text
  • Text to Speech
  • timezone
  • Tools
  • Update
  • URL
  • UTI
  • Web Contents Control
  • WiFi
  • XML
  • XML-RPC
  • イベント(Event)
  • 未分類

アーカイブ

  • 2026年1月
  • 2025年12月
  • 2025年11月
  • 2025年10月
  • 2025年9月
  • 2025年8月
  • 2025年7月
  • 2025年6月
  • 2025年5月
  • 2025年4月
  • 2025年3月
  • 2025年2月
  • 2025年1月
  • 2024年12月
  • 2024年11月
  • 2024年10月
  • 2024年9月
  • 2024年8月
  • 2024年7月
  • 2024年6月
  • 2024年5月
  • 2024年4月
  • 2024年3月
  • 2024年2月
  • 2024年1月
  • 2023年12月
  • 2023年11月
  • 2023年10月
  • 2023年9月
  • 2023年8月
  • 2023年7月
  • 2023年6月
  • 2023年5月
  • 2023年4月
  • 2023年3月
  • 2023年2月
  • 2023年1月
  • 2022年12月
  • 2022年11月
  • 2022年10月
  • 2022年9月
  • 2022年8月
  • 2022年7月
  • 2022年6月
  • 2022年5月
  • 2022年4月
  • 2022年3月
  • 2022年2月
  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月
  • 2021年8月
  • 2021年7月
  • 2021年6月
  • 2021年5月
  • 2021年4月
  • 2021年3月
  • 2021年2月
  • 2021年1月
  • 2020年12月
  • 2020年11月
  • 2020年10月
  • 2020年9月
  • 2020年8月
  • 2020年7月
  • 2020年6月
  • 2020年5月
  • 2020年4月
  • 2020年3月
  • 2020年2月
  • 2020年1月
  • 2019年12月
  • 2019年11月
  • 2019年10月
  • 2019年9月
  • 2019年8月
  • 2019年7月
  • 2019年6月
  • 2019年5月
  • 2019年4月
  • 2019年3月
  • 2019年2月
  • 2019年1月
  • 2018年12月
  • 2018年11月
  • 2018年10月
  • 2018年9月
  • 2018年8月
  • 2018年7月
  • 2018年6月
  • 2018年5月
  • 2018年4月
  • 2018年3月
  • 2018年2月

https://piyomarusoft.booth.pm/items/301502

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org

Forum Posts

  • 人気のトピック
  • 返信がないトピック

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
Proudly powered by WordPress
Theme: Flint by Star Verte LLC