2011-05-08 35 views
0

在AppleScript的,我習慣叫:如何從AppleScript訪問Cocoa-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的可可的AppleScript項目中的代碼。它編譯得很好,但腳本根本沒有運行。該對話框從不顯示。

沒有(path to me as string)它的工作原理,但沒有路徑。

+0

我發現這個問題是_path的「我」的一部分,我作爲string_。如果我使用_path作爲string_它可以工作。現在的子問題是「如果我不能使用_me_,如何自我引用腳本文件夾?「 – 2011-05-08 23:15:33

+0

得到的答覆是,在可可的AppleScript應用程序,正確的sintaxis是不是: '(路徑把我當成文本)' 但是: '(路徑當前應用爲文本)' _me_不適合作爲自我引用,正確的是_current application_。 希望這可以幫助其他人:) – 2011-05-08 23:41:17

回答

0

得到的答覆是,在可可的AppleScript應用程序,正確的sintaxis不:

(path to me as text) 

但是:

(path to current application as text) 

me是不是自我參照有效。正確的是current application

希望這會幫助別人:)

0

「我作爲字符串的路徑」似乎是正確的,但你可能有2個其他問題。 1)音頻文件的路徑應該包含「內容」而不是「內容」。 2)在顯示對話框中,您不需要「帶引號的表單」,因爲posix路徑是一個字符串,可以添加到您的「Path:」字符串中,而不會出現問題。所以檢查這兩件事情,看看是否有幫助。

編輯: 如果上述不幫助有一個「可可的方式獲得應用程序路徑,我不知道AppleScript的objc語法,但你這是怎麼會通過可可得到它。方法...

而獲得資源的路徑直接使用此...

NSString* resourcePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"mp3"]; 
+0

「內容」是寫錯問題的錯誤,而且我與你在一起(作爲字符串的路徑)似乎但是:'顯示對話框(作爲文本的路徑)'在Cocoa-AppleScript中不起作用,問題在於_me_,因爲顯示對話框(作爲文本的主文件夾的路徑)'作用 – 2011-05-08 23:26:11

+0

我添加了一些可可代碼到我的帖子可能會hel在「編輯」部分下。 – regulus6633 2011-05-09 04:18:14

+0

AFAIK你不能在.applescript腳本中混合Cocoa :( – 2011-05-10 12:52:33

0

對於簡單的情況下,雖然,你可以把文件中的Xcode項目的文件樹的根級別,然後執行:

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

在我的情況我然後做:

tell application "Finder" 
     open theFilePath 
    end tell 

,並在其相關的應用程序中打開。

當您分發您的應用程序時,'SomeFile.ext'結束在您的應用程序包的資源文件夾中。

不是100%確定如何爲我沒有必要,到目前爲止,但我想它會是 (path to resource "Audio:SomeFile.mp3")指定的子文件夾?

1

對於資源文件我用:

set fname to POSIX path of (path to resource "filename") 
相關問題