質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Cocoa

CocoaはMac OS X用のアプリケーションを構築する為の主要なフレームワークのひとつです。

Mono

Monoは、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア群です。Linux、Mac OS X、Windowsなど多くのプラットフォームで動作します。その他にも、特定プラットフォーム向けに特化したサブプロジェクトも存在します。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

2回答

1850閲覧

swift(cocoa)からのmonoアプリ起動方法

Nekojirou

総合スコア13

Cocoa

CocoaはMac OS X用のアプリケーションを構築する為の主要なフレームワークのひとつです。

Mono

Monoは、Ecma標準に準じた.NET Framework互換の環境を実現するためのオープンソースのソフトウェア群です。Linux、Mac OS X、Windowsなど多くのプラットフォームで動作します。その他にも、特定プラットフォーム向けに特化したサブプロジェクトも存在します。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

1グッド

0クリップ

投稿2018/05/27 03:17

前提・実現したいこと

swift(Cocoaアプリ)にてProcess関数を用いることでmonoアプリを実行したい

発生している問題・エラーメッセージ

 デバッグは問題なく通りますが、Xcode上で実行しても立ち上げたいMonoアプリは起動しません。
実行時のコマンド表示メッセージ(下記)によると、monoコマンドが認識されていないようですが、その原因/コード修正方法が分からず困っています。

mono: command not found

該当のソースコード

Swift

1 let process = Process() 2 process.executableURL = URL(fileURLWithPath:"/bin/sh") 3 process.arguments = ["-c", "mono (フルパス)/AAA.exe"] 4 5 let pipe = Pipe() 6 process.standardOutput = pipe 7 process.launch()

試したこと

open等のコマンドは問題なく動作する事を確認済

takupon0523👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

何の知識が必要なのかも分からない状態で、少なくともLinuxの知識がほとんど無い状態で回答しますが、monoをフルパスで指定するとどうでしょうか?私の環境では、

/Library/Frameworks/Mono.framework/Versions/Current/Commands/mono

でした。

ターミナルだとmonoだけで実行できるのですが、whereis monoで何も表示されなかったので、monoはパスに頼らない方法で実行されているような気がします。
Linuxタグとか付けた方がいいのかも。

投稿2018/05/29 04:25

fuzzball

総合スコア16731

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nekojirou

2018/05/29 14:45

ご回答ありがとうございます。ご指摘のとおりmonoをフルパスで無い事がひとつの原因だったようですが、今度は下記コマンド表示メッセージがでてきて、やはり起動しません。 Cannot open assembly '(フルパス)/AAA.exe': Operation not permitted.。 実行ファイルを開ける権限が無いとの事ですが、これへの対処法に心当たりはありませんでしょうか。
fuzzball

2018/05/29 14:47

そのエラーは、ググれば解決方法が書かれているようですが、それは試したのでしょうか?
Nekojirou

2018/05/29 21:11

おっしゃられているのは、chmodで権限を与える件でしょうか?それについては実施してもmonoから起動しない事を確認しています。 もし他の件でしたら、参考になるサイトのアドレスを教えていただけないでしょうか。
guest

0

PATHが通ってません
monoをフルパスで与えれば動きます(/usr/local/bin/monoとか)

投稿2018/05/29 04:10

MasakiHori

総合スコア3384

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Nekojirou

2018/05/29 14:45

ご回答ありがとうございます。ご指摘のとおりmonoをフルパスで無い事がひとつの原因だったようですが、今度は下記コマンド表示メッセージがでてきて、やはり起動しません。 Cannot open assembly '(フルパス)/AAA.exe': Operation not permitted.。 実行ファイルを開ける権限が無いとの事ですが、これへの対処法に心当たりはありませんでしょうか。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問