「MonoMac/外部コマンドを実行する」を編集中

ナビゲーションに移動 検索に移動

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
2行目: 2行目:
  
 
==実装1==
 
==実装1==
===dmgファイルを作ってみる===
+
[[Mac OS X]]のhdiutilコマンドで[[暗号化]]された[[dmgファイル]]を作ってみる。直接的にdmgファイルを生成する[[Cocoa]]の[[API]]はないものかと[[ググった]]が、[[stackoverflow.com]]によると無いようだ。
[[Mac OS X]]のhdiutilコマンドで[[暗号化]]された[[dmgファイル]]を作ってみる。[[Cocoa]]の[[API]]に直接的にdmgファイルを生成するものはないかと[[ググった]]が、[[stackoverflow.com]]によると無いようだ。
 
  
===標準入力へ文字列を渡す===
 
 
hdiutilコマンドで暗号化されたdmgファイルを生成する際には[[コマンドプロンプト]]上で[[パスワード]]の入力が求められるが、[[標準入力]]へ[[パイプ]](NSPipe)を渡すことで攻略できる模様。sudoコマンドなどでも確認済み。NSPipeに渡す[[文字列]]の末尾は「\0\n」となる点に注意(「¥」は実際には[[バックスラッシュ]]、[[Mac]]で[[バックスラッシュ]]を打つには「[[Optionキー]]」を押しながら「¥キー」を押す)。
 
hdiutilコマンドで暗号化されたdmgファイルを生成する際には[[コマンドプロンプト]]上で[[パスワード]]の入力が求められるが、[[標準入力]]へ[[パイプ]](NSPipe)を渡すことで攻略できる模様。sudoコマンドなどでも確認済み。NSPipeに渡す[[文字列]]の末尾は「\0\n」となる点に注意(「¥」は実際には[[バックスラッシュ]]、[[Mac]]で[[バックスラッシュ]]を打つには「[[Optionキー]]」を押しながら「¥キー」を押す)。
  
===NSTaskに渡す各種パス===
+
NSTaskに渡す各種パスは[[相対パス]]ではなく[[絶対パス]]でなければならないようだ。なお、NSTaskで実行する外部コマンドを「/bin/sh -c <実際のコマンド>」として[[シェル]]を経由することで相対パスも利用できるようだが、オススメできるかは知らん。
NSTaskに渡す外部コマンドや[[引数]]などの各種パスは[[相対パス]]ではなく[[絶対パス]]でなければならないようだ。なお、NSTaskで実行する外部コマンドを「/bin/sh -c <実際のコマンド>」として[[シェル]]を経由することで相対パスも利用できるようだが、オススメできるかは知らん。
 
 
 
===ソース===
 
 
<source lang="csharp">
 
<source lang="csharp">
 
     using System;
 
     using System;

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: