0

AppleScriptでは、私は次のように呼んでいます。

set audio_file to (path to me as string) & "Contents:Resources:Audio:Music.mp3"
display dialog "Path: " & (quoted form of POSIX path of audio_file)

XcodeのCocoa-AppleScriptプロジェクト内にこのコードがあります。正常にコンパイルされますが、スクリプトがまったく実行されていません。ダイアログが表示されることはありません。

それがなければ(path to me as string)機能しますが、パスはありません。

4

4 に答える 4

1

私が使用するリソースファイルの場合:

set fname to POSIX path of (path to resource "filename")
于 2015-08-11T08:39:36.513 に答える
0

「文字列としての私へのパス」は正しいようですが、他に2つの問題が発生する可能性があります。1)オーディオファイルへのパスには、「コンテンツ」ではなく「コンテンツ」が含まれている必要があります。2)posixパスは文字列であり、「Path:」文字列に問題なく追加できるため、表示ダイアログでは「引用符で囲まれた形式」は必要ありません。したがって、これら2つのことを確認し、それが役立つかどうかを確認してください。

編集: 上記が役に立たない場合は、「アプリケーションへのパスを取得するためのcocoaの方法があります。applescript-objc構文はわかりませんが、これはcocoaメソッドを介して取得する方法です...

NSString* appPath = [[NSBundle mainBundle] bundlePath];

そして、リソースのパスを直接取得するには、これを使用します...

NSString* resourcePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"];
于 2011-05-08T22:43:39.953 に答える
0

そして答えは、Cocoa-AppleScriptアプリケーションでは、正しい構文は次のようではないということです。

(path to me as text)

しかし:

(path to current application as text)

me自己参照としては無効です。正しいものはcurrent applicationです。

これが他の人に役立つことを願っています:)

于 2011-05-10T12:53:46.377 に答える
0

ただし、単純なケースでは、XCodeプロジェクトのファイルツリーのルートレベルにファイルを配置してから、次の手順を実行できます。

    set theFilePath to (path to resource "SomeFile.ext")

私の場合、私はそれからやっています:

    tell application "Finder"
        open theFilePath
    end tell

関連するアプリケーションで開きます。

アプリケーションを配布すると、「SomeFile.ext」はアプリケーションパッケージのResourcesフォルダーに配置されます。

これまで必要がなかったので、サブフォルダーを指定する方法が100%わからないのですが、そうなると思います (path to resource "Audio:SomeFile.mp3")か?

于 2013-01-24T14:59:43.003 に答える