X



AppleScript アップルスクリプト 質問、発表 7 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
0001名称未設定
垢版 |
2017/04/01(土) 12:42:51.78ID:F8/5NUFI0
質問、発表どっちでもスレ。

■注意
安直なスクリプト作成依頼、丸投げ、「こういうの作ってください!」はお断り。
わからない点、エラーが解決できない点についてはスクリプト片を添えて質問すること。
OSバージョンも忘れずに。

■参考
AppleScript Language Guide
https://developer.apple.com/library/mac/documentation/AppleScript/Conceptual/AppleScriptLangGuide/
TN2065: do shell script
https://developer.apple.com/library/mac/technotes/tn2065/
AppleScript: The Language of Automation
http://www.macosxautomation.com/applescript/
MacWiki - AppleScript
http://macwiki.osdn.jp/wiki/index.php/AppleScript
鳶嶋工房 / AppleScript
http://tonbi.jp/AppleScript/
AS Hole(AppleScriptの穴)
http://piyocast.com/as/
■過去スレ直近5つ
6 http://potato.2ch.net/test/read.cgi/mac/1387630245/
5 http://anago.2ch.net/test/read.cgi/mac/1330350325/
4 http://anago.2ch.net/test/read.cgi/mac/1256127156/
3 http://pc11.2ch.net/test/read.cgi/mac/1223026902/
2 http://pc11.2ch.net/test/read.cgi/mac/1197443062/
0138名称未設定
垢版 |
2018/04/01(日) 10:20:19.58ID:gXYcv3aN0
今日SierraからHigh Sierraにしんだけど、スクリプトメニューから実行した時、
アプリケーション形式じゃないとdisplay notification動作しなくなってる
0139名称未設定
垢版 |
2018/04/01(日) 10:35:44.10ID:gXYcv3aN0
んー、2台あるうちの1台ではscptでも動作してる
ただどっちもsound nameは効いてない
0140名称未設定
垢版 |
2018/04/01(日) 11:39:55.41ID:gXYcv3aN0
10.13.4 Combo Update入れて再起動したらscptでも通知自体は出るようになった
0141名称未設定
垢版 |
2018/04/10(火) 21:18:44.21ID:CDZivbba0
applescript 初心者です
safari > 環境設定 > 一般 > ホームページ
のURLを設定したいのですがどうすればよいのかわかりません
every UI Elements で調べても環境設定...までしか見れなくて困ってます
0142名称未設定
垢版 |
2018/04/10(火) 21:53:37.79ID:EQJZ4INE0
一般を開いた状態での構造はこういう感じのようだけどSafari 11.1
tell application "System Events"
tell application process "Safari"
tell window "一般"
tell group 1
tell group 1
tell text field "ホームページ:"
value
end tell
end tell
end tell
end tell
end tell
end tell
0143名称未設定
垢版 |
2018/04/10(火) 21:56:44.50ID:EQJZ4INE0
Xcode入れてそこからAccessibility Inspector使った方が楽かもよ
そのためだけに5GBとかダウンロードするのもアレだけど
0144141
垢版 |
2018/04/10(火) 22:17:15.31ID:CDZivbba0
皆さんありがとうございます
色々試して調べてみます
0145名称未設定
垢版 |
2018/04/18(水) 08:15:41.27ID:8eLIIhnA0
HighSierra+Xcode9.3にしたところ、昔作った自作のAppleScriptObjcアプリがエラーするようになりデバッグしようとしています。
NSDictionaryの引数がどうのというエラーです。HighSierraでのバグらしく、スクリプト側の書き換えが必要だとか。

これのxcode プロジェクトを開いてAppleScriptのファイルを編集したのですが、
CleanしてBuild+runしても、症状が変わらずソースの編集が反映されない様に見えます。

久々でASOCの編集で諸々忘れているので、
どこをチェックすべきかコメント頂けますでしょうか。
0147名称未設定
垢版 |
2018/04/18(水) 20:35:57.17ID:K9ubVgDS0
145です。直りました。
AppleScriptのコメント化の文法勘違いでした
単にコンパイル通ってなかっただけの様です( ´△`)

ブランクがあると厳しいな。
0148名称未設定
垢版 |
2018/04/19(木) 00:29:35.09ID:/8p2JHg70
Project Builder&Interface Builder AppleScript―Mac OS Xアプリケーション開発技法 Mac OS Xアプリケーション開発技法

そういやこの間古本屋じゃない書店で売ってて笑った
何年前のだよ
0149名称未設定
垢版 |
2018/04/26(木) 04:31:37.60ID:FIwH5oI80
最近用語説明見てなかったけどいつの間にかASCII characterとASCII numberがcharacter idとidに置き換わってる
0150名称未設定
垢版 |
2018/04/26(木) 05:39:00.79ID:UIlM09fA0
>>148
Amazonからコピペ?後ろの重複具合から
2002かなんかすごい昔
0151名称未設定
垢版 |
2018/05/06(日) 20:37:36.24ID:ozaP+Ecf0
アプリで保存したスクリプトを
スクリプトエディタの開くダイアログで開いて修正しても
動作が修正されていないので
パッケージを開くから中のスクリプトを開くと
修正前のスクリプトのままでした
開くダイアログやドラッグドロップした時に
エディタは何を修正しているんですか?
0152名称未設定
垢版 |
2018/05/06(日) 20:58:50.83ID:mfbWGI0z0
コンパイルエラーにでもなってたんじゃないの
0153名称未設定
垢版 |
2018/05/06(日) 21:27:19.64ID:ozaP+Ecf0
ありがとうございます
自分のmacが不調なんですね
よく見たらmain.scptの他にmain.rtfという
ファイルが出来てました
0154名称未設定
垢版 |
2018/05/06(日) 21:33:58.10ID:oQzqsfAw0
それはリッチテキストやで
0156名称未設定
垢版 |
2018/05/06(日) 22:49:51.14ID:ozaP+Ecf0
>>155
ありがとうございます
main.rtfは削除しておきました
参考になりました
何処かの段階でシンタックスエラーとか
何かやってしまったんですね
0157名称未設定
垢版 |
2018/05/07(月) 06:50:35.80ID:SSE/IZDj0
実行後に終了しない.appだと、
アプリ動作中にmain.scptを修正しても、
アプリ終了→アプリ再起動、ってやると
修正前のスクリプトに戻っちゃったような…
0158名称未設定
垢版 |
2018/05/08(火) 03:57:17.42ID:eQvzgAXd0
戻っちゃわないような...
0160名称未設定
垢版 |
2018/05/08(火) 11:02:36.52ID:yoJVCH6G0
すいません。昔、AppleScriptのソースの中身をSpotlightで検索するためのプラグインがあったように思うのですが、まだどこかに落ちていないでしょうか?
0161名称未設定
垢版 |
2018/05/08(火) 12:24:23.20ID:+P6mKPZa0
ググったら 「ちまちまとMacをいじるブログ | SpotlightでAppleScriptファイルの内容を ...」 があって、そこの google-toolbox-for-mac のリンク先 https://github.com/google/google-toolbox-for-mac
バージョン 1.6.0 に含まれてるようだった
バージョン 2.0.0 で構成変わったようでぱっと見にないんでわからない

最初の「ちまちまと〜」のページはググってくれ
fc2のblogだからか、リンク貼ったらNGワードで書けない
0162名称未設定
垢版 |
2018/05/08(火) 21:45:22.72ID:By+Xekyi0
Wed Sep 09 2015 00:53:47 GMT+0900
に、
Kill off the Spotlight and Xcode plugins as they haven't been maintained.
で、消されたよう。そこの一つ前まで遡ればか、現在はビルドは提供されていないので、1.6の入っているのを使うだね
0163名称未設定
垢版 |
2018/05/08(火) 21:52:54.51ID:By+Xekyi0
2008/08/21 に追加されてそれから何も変更されずっていう、マジほっぽらかし(まあ、変える必要がない完成度/機能性の少なさなんだろけど)なので、
1.6のでも全く同じではあるな(ビルドしたXcodeが古いってだけで。それもあんま関係ないだろう)
0164名称未設定
垢版 |
2018/06/23(土) 20:41:34.77ID:4D4GIS+V0
Finderでフォルダの表示を切り替える行為を記録したのですが実行するとエラーが出てしまいます。
記録で書かれた内容なので違うとも思えないのですが、どのように書き直せば狙い通りに動くでしょうか?

MacOSX 10.8.5
やりたいこと:Finderでリスト表示フォルダのソート順を違う物から作成日の新しい順に切り替える
(多数のフォルダを一括でリネームしたらソート順がデフォになってしまったのをrepeatで一気に直すつもりです)

記録された内容:
tell application "Finder"
activate
set sort column of list view options of Finder window 1 to creation date column
set sort direction of column id creation date column of list view options of Finder window 1 to normal
end tell

set sort column of list viewの行で
error "Finder でエラーが起きました:ソート列にするには、その列が可視状態である必要があります。" number -10000
と言われてしまいます。
作成日は可視状態です。

よろしくお願いします。
0165名称未設定
垢版 |
2018/06/23(土) 21:53:57.52ID:dl6jfKi60
記述が足りない。10.8はさすがにだが同じだろう

set sort column of list view options of Finder window 1 to column creation date column of list view options of Finder window 1

(sort column に設定してもダイレクトには変わらないので、一度ウィンドウを閉じて開いてが常套手段なのかな)
0166164
垢版 |
2018/06/24(日) 17:22:04.27ID:ncIqQlQ00
>>165
回答ありがとうございます。
試したところ、同じエラーが出て上手く行きませんでした・・・。

ちょっと感情的になり、そんなに言うなら(意味がないけど)入れてやるわ!って以下を先に入れたら上手く動きました。

set visible of column id creation date column of list view options of Finder window 1 to true

ASは現状をチェックしない、という事ならソレはソレで何で最初ので動かないのか腑に落ちませんが
何とか動いたので良かったです。
お手を煩わせてすみませんでした。
0168名称未設定
垢版 |
2018/07/05(木) 17:27:56.62ID:HQ3dQZRQ0
set the clipboard to "A" & return & "B"

returnは未だにCRなのか
0170名称未設定
垢版 |
2018/07/05(木) 21:59:10.93ID:0Y7iJzAh0
まあ、今時改行がCRでないと困るというのは皆無だからLFにしちゃっていいとは思うけど
もよほど特殊(?)でもないとCRでもLFでもどっちでもいいようにして(必要なら適時変換して)成り立ってしまってるので変える必要もないってとこか
0171名称未設定
垢版 |
2018/07/12(木) 00:46:26.76ID:MYN0DAfb0
最近MavericksからSierraにアップデートしたのですが、loadしたスクリプトへのtellがうまく動かないことがあります。
何か仕様が変わっていますか?
0173名称未設定
垢版 |
2018/07/12(木) 09:01:45.92ID:+OderRzd0
JXAからアドビのjs呼び出す事ってできないんでしょうか?
色々試したけどわかりませんでした。もしできるなら引数の渡し方も併せて教えてください。
0174名称未設定
垢版 |
2018/07/14(土) 09:51:12.53ID:xTJCq1RB0
POSIX file aPath と aPath as POSIX fileで挙動が違うのですが、こういうものですか?
0175名称未設定
垢版 |
2018/07/24(火) 21:30:22.03ID:hEIqPkjW0
>>173
どのアドビのjsのことを言っているのか。とりあえずPhotoshop CS6なんぞだとして
Javascriptを動かしているエンジン(及びその環境/仕組み)が違うから直接は無理だろう。Photoshop CS6はAppleScriptに対応していて当然のようにJXAでソレを使え、その中にdo javascriptなんぞがあるようなのでそれでだろう
具体的に動く方法とかは、
http://blog.kanemu.net/2008/02/applescriptadobejavascript.html
なんぞとか、PhotoshopのAppleScriptでdo javascriptをググってJXAに書き換えればわかるだろう

>>174
違ったような気もする、違ったことがあるような気もする。が、なんだったかなあ。
POSIX file "/Users/hoge/Desktop/hoge.jsx"
/Users/hoge/Desktop/hoge.jsx" as POSIX file
いちおう、得られる結果は同じだな。
class of POSIX file "/Users/hoge/Desktop/hoge.jsx"
class of (/Users/hoge/Desktop/hoge.jsx" as POSIX file)
としても得られる結果は同じようだが、POSIX file ~ の方はMacintoshパスに書き換えられるから挙動は違うな。まあ、そんなもんということで
0176173
垢版 |
2018/07/25(水) 09:46:58.52ID:AQuCr0Br0
>>175
基本イラレ、インデザインですが、今まで作成したjsxファイルを使ってshellやアプリ間の連携をさせたいので。
今まではASでやっていたのですが、JXAで書けるなら色々とラクなので。
以下のスクリプトを試しましたが、下2つは動作しません。
INDD = Application("Adobe InDesign CC 2018");
INDD.includeStandardAdditions = true;
INDD.displayAlert('alert("Hello from the other side")');
INDD.doJavaScript('alert("Hello from the other side")');
INDD.doScript('/Users/hoge/Desktop/hello.jsx');
0177名称未設定
垢版 |
2018/07/25(水) 10:21:49.37ID:CBkLGNxW0
そもそも用語説明ではどう説明されてんのかと
0178名称未設定
垢版 |
2018/07/25(水) 18:47:48.83ID:G7md3iPc0
>>176
なんだ、AppleScriptをJXAに書き換えられないってだけか
Adobeの公開しているAppleScriptドキュメントではInDesignはdo scriptのようだけど、公開しているドキュメントが古くて新しいのはdo javascriptもサポートしてんのか??
と、しょーーーーがないから試用版入れてみたら... InDesignにdo javascriptなんてないやんっ!

そもそもAppleScriptでできてたやっていたのかとすら疑わしいとすら思うぞ、>>177の言うとおり用語説明にちゃんと書いてあるやんだし
用語説明がわからない(わからいづらいのはわかる)、AppleScriptをJXAに書き換えるのがわからない(わかりづらいのはわかる)けどな
0179名称未設定
垢版 |
2018/07/25(水) 19:03:15.38ID:WKdQ5Y7+0
何がしょうがないのかよくわからない
0180名称未設定
垢版 |
2018/07/25(水) 19:14:57.66ID:G7md3iPc0
最後力尽きてた。ってのならわかるけどな

>>176
ググっての do script には、後ろに language javascript ってあって値がないオプション?かと思ったら、javascript が/の部分が値やん
INDD.doScript( theScript, { language: "javascript" } );
で、動くだろう、動いた。theScript は javascript文字列でもファイルパス文字列でも
とりあえず language javascript ということにしとけw
0181名称未設定
垢版 |
2018/07/25(水) 19:16:28.21ID:G7md3iPc0
ということ=必須ということ

>>179
しょうがない??
0183名称未設定
垢版 |
2018/07/25(水) 19:25:41.74ID:G7md3iPc0
小説ぐらい読もうな。そしたら読めるようになると思うぞwたぶん
ラノベじゃなくてな
0184名称未設定
垢版 |
2018/07/25(水) 19:36:40.52ID:3O+dxvTs0
アスペの文章は理解出来ない
0185名称未設定
垢版 |
2018/07/25(水) 19:41:03.31ID:G7md3iPc0
スレ内容に関係ないことだけに沸くねえ。関係ないというか無内容のレスをって、いろいろ可哀想な人ってのだけはわかるけどさ
0186173
垢版 |
2018/07/26(木) 10:39:52.37ID:caNfuuYP0
>>178
わざわざ試用版まで入れてありがとうございます。
用語説明の見方(使い方)は全然わかっていません。ネットでサンプルを探して目的にあった書き方を探してる感じです。
INDD.doScript( theScript, { language: "javascript" } );で動きました。
しかし、今度は引数の渡し方がわかりません。
下の様な書き方では駄目でした。parametersをargumentsにしても同じでした。
INDD.doScript(Path('/Users/hage/Desktop/hello.jsx'), { language: "javascript",parameters:[1,2]});
0187名称未設定
垢版 |
2018/07/26(木) 11:44:52.58ID:fO/SjuSt0
なんかさあ、当てずっぽうに書いて動かないだ駄目だ繰り返してるだけじゃん
もっと事実を調べなさいよ
0188名称未設定
垢版 |
2018/07/26(木) 16:03:48.28ID:skM+7rGt0
>>186
>用語説明の見方(使い方)は全然わかっていません
まあ、わからないでもない
>ネットでサンプルを探して目的にあった書き方を探してる
まあ、間違ってはいない。

が、
>今度は引数の渡し方がわかりません...parameters:
なんでそうなる。どうして、用語説明の見方(使い方)は全然わかってないからネットでサンプルを探して目的にあった書き方を探して、から、用語説明の見方をわかる努力にならないのか
だから、>>187と言われるんだよ。俺も全く同じに思う
用語説明にパラメータも載ってるでしょ。parameters:なんてないでしょ。InDesignの用語説明のはJavascript表記が出ないようだけど、AppleScriptからJavascript表記にはほぼ機械的にだよ。さあ、用語説明を見てみよう&これから用語説明をまずはみよう
0189173
垢版 |
2018/07/26(木) 17:18:35.05ID:caNfuuYP0
用語説明を見てwithArgumentsとしてみましたが、やっぱり駄目です。
書き方も合っているかわからないので2通り試してみましたが駄目でした。
NDD.doScript(Path('/Users/hage/Desktop/hello.jsx'), {language: "javascript",withArguments:[1,2]});
INDD.doScript(Path('/Users/hage/Desktop/hello.jsx'), {language: "javascript"},{withArguments:[1,2]});
0190名称未設定
垢版 |
2018/07/26(木) 17:45:37.71ID:skM+7rGt0
/Users/hage/Desktop/hello.jsx
の受け側がちゃんとしてんの?InDesign消したからめんどくさいなめんどくさいなめんどくさいなあw まあ、見てみるよ
0191名称未設定
垢版 |
2018/07/26(木) 18:23:40.12ID:skM+7rGt0
一番目のでええやん...それじゃAppleScriptで同じように書いても駄目って話だろう

もー、>>187のまんまやんっ
site:www.adobe.com InDesign AppleScript
で、ググって、ドキュメントを読めっ!(日本語訳ドキュメントがあるし、目的のとこがとてもみつけやすいだろに)
ドキュメント読んでもとかドキュメントどこにとかならわかるが、そこを省いてってありえないぞ
(まだ付き合ってもいいけど、ちゃんと終わりなら終わりって言ってね。InDesign消すから。無応答だと1日後に消す)
0192名称未設定
垢版 |
2018/07/27(金) 00:14:05.40ID:wnC7e1nR0
ハイシエラでプレビューのHEIF変換機能を利用してシステムフォトライブラリのJPGとPNGをHEIF化出来ますか?
0193名称未設定
垢版 |
2018/07/27(金) 01:15:30.85ID:03yX7pFC0
プレビューってAppleScriptに対応してないだろ
Automatorのアクションに何か用意してあるかもしれないけど
0194名称未設定
垢版 |
2018/07/27(金) 08:08:35.51ID:y2NdpSAD0
http://www.macotakara.jp/blog/mac_os_x/entry-34719.html
らしい。sipsコマンドも変換はまだらしい。クリックとかSystem Eventで地道にPreviewを操作すればできないことはないかなあ

https://eclecticlight.co/2017/10/20/converttoheif-a-contributed-script-and-automator-workflow-to-convert-jpeg-images-to-heif/comment-page-1/
こんなのあった。まるっきりただのシェルスクリプトだけだが
変換なんぞffmpegを使ってる。必要なコマンド(バイナリのffmpegとwriterapp/シェルスクリプトのconvertToHEIF)はWorkflow(パッケージ)に同梱されているのでまんまWorkflowとして動くのだろう
0195173
垢版 |
2018/07/27(金) 09:04:33.81ID:GlNa7yiZ0
>>191
すみません。パスがダミーのままでした。(;^_^A
できました。何度もありがとうございました。助かりました。
おかげでjxaも少し理解しました。asをjsに置き換えて使ってる感じなんですね。
0196名称未設定
垢版 |
2018/08/06(月) 01:13:49.55ID:/TKVSQZZ0
小人よりこっちなので

-- AppleScript
set theResult to {}
set savedDemimiters to AppleScript's text item delimiters
set AppleScript's text item delimiters to "/"
repeat with theURL in input
set theItems to every text item of theURL
set theResult to theResult & ((items 4 thru -1 of theItems) as string)
end repeat
set AppleScript's text item delimiters to savedDemimiters
return theResult
0197名称未設定
垢版 |
2018/08/06(月) 01:14:31.49ID:/TKVSQZZ0
-- AppleScriptObjC
use framework "Foundation"
set theResult to {}
set regex to current application's NSRegularExpression's regularExpressionWithPattern:"^[^/]*//[^/]*/" options:0 |error|:(missing value)
repeat with theURL in input
set theResult to theResult & {(regex's stringByReplacingMatchesInString:theURL options:0 range:{location:0, |length|:(length of theURL)} withTemplate:"") as text}
end repeat
return theResult
0198名称未設定
垢版 |
2018/08/06(月) 01:15:15.41ID:/TKVSQZZ0
// JXA ObjC
theResult = [];
regex = $.NSRegularExpression.regularExpressionWithPatternOptionsError('^[^/]*//[^/]*/', 0, $());
input.forEach(function ( theURL ) {
theResult.push(regex.stringByReplacingMatchesInStringOptionsRangeWithTemplate(theURL, 0, $.NSMakeRange(0, theURL.length), '').js);
});
return theResult;
0199名称未設定
垢版 |
2018/08/06(月) 01:15:40.96ID:/TKVSQZZ0
// JXA っ(ていうかただのJavaScript)
theResult = [];
input.forEach(function ( theURL ) {
theResult.push(theURL.replace(/^[^/]*¥/¥/[^/]*¥//, ''));
});
return theResult
0200名称未設定
垢版 |
2018/08/06(月) 17:22:44.19ID:D9/5MFlz0
本人不在でやっても仕方ないと思うが
0201名称未設定
垢版 |
2018/08/06(月) 18:35:19.86ID:/TKVSQZZ0
元に本人はいないからw 単に「発表」的なです
0202名称未設定
垢版 |
2018/08/09(木) 14:46:28.17ID:KT1Ue3i80
BathyScaphe向け、画像をimgurに上げるスクリプト
macOS Sierra 10.12.6で作成したもの

・~/Library/Application Support/BathyScaphe/Scripts/ に置く
・実行するとファイルを開くダイアログが出るので、画像を一つ選ぶ
・書き込みウインドウが前面に出ていれば、画像のリンクをテキストの最後に付ける
 なければダイアログにリンクを表示する
・上げた画像を削除するようなら、ターミナルでたとえば
log show --info --style syslog --predicate 'eventMessage contains "X DELETE"' --last 1d
して表示されるcurl以降、行末の ' までをそのまま実行する

== スクリプトここから
-- ref. https://apidocs.imgur.com
property apiUrl : "https://api.imgur.com/3/image";
property authHead : " -H 'Authorization: Client-ID cc2c5a0c5e345d1'"

use framework "Foundation"
use scripting additions

set imgUrl to ""
set imgFile to choose file of type {"public.image"} default location (path to desktop) without multiple selections allowed
set {imgData, |error|} to current application's NSData's dataWithContentsOfFile:imgFile options:0 |error|:(reference)
if imgData is missing value then
displayError(|error|'s localizedDescription as string)
end if
set base64Data to (imgData's base64EncodedStringWithOptions:0) as string
try
set respJson to do shell script "curl " & apiUrl & authHead & " -F image=" & quoted form of base64Data
set respRec to run script "JSON.parse(" & quoted form of respJson & ");" in "JavaScript"
on error |error|
displayError(|error|)
end try
0203202のつづき
垢版 |
2018/08/09(木) 14:46:58.04ID:KT1Ue3i80
if success of respRec then
set imgUrl to link of |data| of respRec
set imgDelUrl to apiUrl & "/" & deleteHash of |data| of respRec
current application's NSLog("image uploaded to " & imgUrl & "; to delete, do curl -X DELETE " & imgDelUrl & authHead)
else
displayError(|error| of |data| of respRec)
end if

tell application "BathyScaphe"
if (count of documents) is not 0 and class of front document is reply document then
set text of front document to text of front document & imgUrl
return
end if
end tell
display dialog imgUrl buttons {"Cancel", "Copy to Clipboard"} default button 2 cancel button 1
set the clipboard to imgUrl

on displayError(|error|)
display dialog |error| buttons {"OK"} default button 1 cancel button 1
end displayError
== スクリプトここまで
0205名称未設定
垢版 |
2018/08/09(木) 15:07:15.92ID:vFbNol+B0
おーすげえ!こんなの書ける人尊敬する!
0207名称未設定
垢版 |
2018/08/09(木) 20:18:39.12ID:413UzQ5n0
もういいやらしいけどw、

-[NSAppleEventDescriptor getFileSystemRepresentation:maxLength:]: unrecognized selector sent to instance 0x610000426ba0

なんのこっちゃだが、NSData's dataWithContentsOfFile: でかな?ググったところでは
古いのだとimgFile を適正に POSIX Path な NSString に変換してない/できないとかかなあ
set {imgData, |error|} to current application's NSData's dataWithContentsOfFile:(POSIX path of imgFile) options:0 |error|:(reference)
でとか
0208202
垢版 |
2018/08/10(金) 10:02:41.65ID:2JR4DTyh0
修正ありがとう
10.10を復元して、現象とその修正後の動作OKを確認しましたわ
0209名称未設定
垢版 |
2018/08/10(金) 10:44:18.33ID:oKd0Un460
>>207,208
え?>>202,203でちゃんとおっぱいアップ出来たけど、なんか違ってるの?
0210名称未設定
垢版 |
2018/08/10(金) 10:55:36.98ID:soT9aK2E0
10.10だとエラーになってたから
0211202, 208
垢版 |
2018/08/10(金) 10:57:21.03ID:2JR4DTyh0
あー、IDが変わってしまったw
0213名称未設定
垢版 |
2018/08/10(金) 12:51:57.43ID:SWETQyVl0
>>208
10.10を復元っ!作り、確認。お疲れ様です。いいねっ!
0214名称未設定
垢版 |
2018/08/10(金) 18:04:22.41ID:SWETQyVl0
500kくらいのでエラるので、なんでかなーと思ったら引数が大きすぎると
じゃ、標準入力で受け取るように&だったらbase64化はコマンドでかなと思ったら、curlはbase64化もしてくれるだった

set {imgData, |error|} 〜
から
set respJson to do shell script "curl "

set respJson to do shell script "curl " & apiUrl & authHead & " -F image=@" & quoted form of (POSIX path of imgFile)
もしくは
set respJson to do shell script "cat " & quoted form of (POSIX path of imgFile) & " | curl " & apiUrl & authHead & " -F image=@-"

でいいみたい
0215名称未設定
垢版 |
2018/08/10(金) 21:44:52.39ID:t4AHFPON0
もう、こんなのはAppleScriptじゃないよ。
0216名称未設定
垢版 |
2018/08/10(金) 23:23:47.26ID:UadeuJbL0
AppleScriptObjC
名前にAppleScript付いてるけど全然AppleScriptじゃないし
0217名称未設定
垢版 |
2018/08/11(土) 11:50:13.71ID:Q2Fo4sRd0
俺の知らないことだからってだけでよう文句言えるw AppleScriptだよ、どう見たって
Base64を作らなくてもいいならその嫌ってるObjCのとこなんて無いじゃん。唯一NSLogが残るくらいか。「AppleScriptじゃない」と言えるほど純粋AppleScriptをすらわかってなさげ
0218名称未設定
垢版 |
2018/08/11(土) 13:27:25.65ID:2/YlJDew0
いい年して顔真っ赤にしながらレスなんて恥ずかしいよ
0219名称未設定
垢版 |
2018/08/11(土) 17:14:05.05ID:iBkCFSt30
>>217
「パッと見だとまるで普通の英語の文章のように思える」のがAppleScriptが所謂超高級言語と呼ばれる所以だろ
このコードにはその側面が感じられない。プログラムのソースコードに見える

ってことだと思うんです。おれ>>215じゃないけどw
ちなみに超高級言語には他にMax/MSPなんかがある
0220名称未設定
垢版 |
2018/08/11(土) 17:34:21.50ID:Q2Fo4sRd0
>>219
何を言いたいのかわからないなあ。それじゃ、do shell scriptでシェルスクリプトも書いちゃダメなの?do javascript でJavaScript書いちゃダメなの?同じだよ。純粋AppleScriptでできないからソレを使うだけけど、AppleScriptはAppleScript、メインは
超高級言語wだから、current application's とかくっそめんどくさかったりするから、やっぱそこもAppleScriptだろう
0221名称未設定
垢版 |
2018/08/11(土) 17:53:11.47ID:Q2Fo4sRd0
そんな唐突にAppleScriptじゃないとか、AppleScriptは超高級言語でそういう記法じゃない(?)とか言える感覚が全くわからんので、具体的に

例えば、
set {imgData, |error|} to current application's NSData's dataWithContentsOfFile:imgFile options:0 |error|:(reference)

set imgData to current application's NSData's dataWithContentsOfFile_options_error( imgFile, 0, |error| )
もしくは
set imgData to dataWithContentsOfFile_options_error( imgFile, 0, |error| ) of NSData of current application
だったらいいの?全然変わらんと思うけど超高級言語云々では。てかObjective-C記法の方がその超高級言語に近いんじゃないかとさえ思えるけど
0222名称未設定
垢版 |
2018/08/11(土) 17:53:11.99ID:iBkCFSt30
>>220
多分もっと説明しても君には分からないと思う
美意識の問題だから
0223名称未設定
垢版 |
2018/08/11(土) 17:54:56.45ID:Q2Fo4sRd0
>>222
いや、その美意識で同じことを書いてみてよ。美意識...よくまあなんていうか...正直キモいのでわからなくていいです
0224名称未設定
垢版 |
2018/08/11(土) 19:46:41.17ID:n+eFXxpk0
別人だけど、ジジイもとい初期のASからいじってたせいか、何となくどちらの言っていることも分かる気がする。
自然言語記述は、最初の頃は頑張ってたけど、途中で挫折した感じだったなあって笑
0225名称未設定
垢版 |
2018/08/11(土) 19:56:04.30ID:IuAs9oMp0
AppleScript好きだからあえて言うけど言語の試用が時代にあってないよね
扱える桁数とかさ
0226名称未設定
垢版 |
2018/08/11(土) 19:56:50.13ID:IuAs9oMp0
仕様ね
Appleに改善しようという気が全くない
0227名称未設定
垢版 |
2018/08/11(土) 20:25:17.52ID:Q2Fo4sRd0
オリジナルは「使える」ので自分用ライブラリにしてた。できる限り元のまま(敬意を込めて)でとしたが、まあ全く原型は無くなってしまったw
https://paste2.org/ZCaVK6vt

File Type UTI を比較するのがない(探せない)ので
do shell script でエラー文字列が得られない(探せない)ので
curlで得られるのがそれなら、じゃ、これでparseでええやん
ってことで、全文AppleScriptObjCにしたぞw

よくわからん美意識とかどうでもいいー、それも具体性ゼロなんてクソだっw
AppleScriptからCocoa呼べるなんて最高じゃん、なんでもできそうで。まあ、AppleScriptの記法はめんどくさいからJXAの方がと傾いているが、それでもAppleScriptも好き
0228名称未設定
垢版 |
2018/08/11(土) 20:31:32.83ID:Nx8nl+xo0
綺麗に書けるならそれに越したことはないけど純ASだけでなんでもできるわけじゃないんだからしゃーない
「ASObjCだと読みやすいAS的記法からだいぶ変わっちゃうね」ってだけの話でしょ
文句つけてるor噛みついてるような発言に取れなくもないけどそんなイライラしなさんな

AppleはもうASに力入れてないでしょ
むしろいつ廃止しようか様子見してるぐらいじゃない?

個人的にはSwiftコード実行できるにして欲しいけど
do shell script "printf 'print(¥"Hello¥")' | swift"
で呼べなくもないけど立ち上がりが遅いし出力に余計なのが含まれるし使えるとは言い難い
0229名称未設定
垢版 |
2018/08/11(土) 20:37:48.56ID:Q2Fo4sRd0
>>228
イライラは別にしてないけど。何言ってんの?ってことでしかない
「読みやすい」って何?>>221で話を具体手に膨らませてほしいな。おれおれ純粋AppleScriptのサブルーチンともそんなに変わらないし

>むしろいつ廃止しようか様子見してるぐらいじゃない
何年も前にも言われているねえ。まあJXAの方になるかもだが。なんで急にSwift?
0230名称未設定
垢版 |
2018/08/11(土) 20:52:39.39ID:Nx8nl+xo0
JXAすら「全然使われてねえ作るんじゃなかった」って思ってそうな気もするが

set imgData to contents of imgFile
set base64Data to base64 of imgData

こんなふうに、他の言語のメソッド呼び出してる感なく書ければいいなってことじゃないのかね
0231名称未設定
垢版 |
2018/08/11(土) 21:00:51.55ID:Q2Fo4sRd0
ググったら、AppleScriptの頃より使われている気がするけどね。さすがJavaScriptの方を元々使ってた人が多いのかと思ってたけど

それは「言語」としてサポートしていたらのでしょ。てか、そうだとしたら、サブルーチンどうしてんだろ?AppleScriptらしくないと嫌な思いしながら書いて使ってるのかなあ??

OSAXでもやればできるんじゃないのかなあ。OSAXはよく知らんが。ナイナイものねだりというか、文句言うくらいだったらOSAX作れよって感じかな。んなの作らなくても使えるだけで最高だけどな、俺は
なんか勝手な思いで勝手に文句だけ言っているだけにしか見えないなあ
0232名称未設定
垢版 |
2018/08/11(土) 21:37:13.19ID:oXbzerTj0
日本語AppleScriptの時代を知っているが、あれから比べたら全く別の言語みたいなもの。
別の言語を習得するのはもうきつい年代になった。
0233名称未設定
垢版 |
2018/08/11(土) 21:56:31.04ID:DWdhQaCx0
>>231
横から突然すみません
お詳しそうなので、宜しければ別スレで解決できなかった質問にご回答いただきたいのですが、
iMacに外部ディスプレイを繋げていて、そのディスプレイでWEBブラウザ経由で映画を観る際に
iMac本体側のディスプレイをOFFにしたいのですがどうやれば良いでしょうか?
真っ黒な画面だと明るさがあるので駄目なんです
AppleScriptは全くの初心者ですが‥‥

iMac Late 2015, Sierraです
外部ディスプレイはminiDPで繋いでます
0234名称未設定
垢版 |
2018/08/11(土) 22:00:59.85ID:IuAs9oMp0
■注意
安直なスクリプト作成依頼、丸投げ、「こういうの作ってください!」はお断り。
わからない点、エラーが解決できない点についてはスクリプト片を添えて質問すること。
0236名称未設定
垢版 |
2018/08/11(土) 22:02:19.20ID:IuAs9oMp0
草生やして楽しそうだね
■ このスレッドは過去ログ倉庫に格納されています

ニューススポーツなんでも実況