我有一段時間以來我一直在開發的應用程序。最近通過雙擊啓動應用程序會出現一個對話框,其中顯示「您無法打開應用程序RepoWatch,因爲它可能已損壞或不完整。」該應用程序無法打開,因爲它的可執行文件缺失
通過打開./RepoWatch.app啓動應用程序給我「該應用程序無法打開,因爲它的可執行文件缺失。」
我通常通過./RepoWatch.app/Contents/MacOS/RepoWatch通過簡單的習慣(哪個能工作)來啓動應用程序,所以我不確定這個事情發生了多久,或者在手邊發生了什麼變化。最有可能的變化是我將cp Info.plist ./RepoWatch.app/Contents/
放入我的make文件中,以便版本化Info.plist,而無需版本化.app包中的所有內容。
我已經多次查看了Info.plist,無法找到任何問題。該文件打開與屬性列表編輯器沒有任何錯誤。從屬性列表編輯器保存不會使文件「工作」(如果它是首先被責備)。
據我可以告訴也期待理智的權限:
$ ls -l
./RepoWatch.app/Contents/Info.plist
[email protected] 1 dgrace staff 789 Feb 1 23:20 ./RepoWatch.app/Contents/Info.plist
$ ls -l
/Applications/Adium.app/Contents/Info.plist
-rw-rw-r-- 1 dgrace staff 5750 Aug 21 15:41 /Applications/Adium.app/Contents/Info.plist
我很茫然,什麼下一個嘗試。
這裏是Info.plist的(雖然什麼都沒有在相當長一段時間確實改變)的內容:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>RepoWatch</string>
<key>CFBundleIdentifier</key>
<string>com.doomstick.RepoWatch</string>
<key>CFBundleName</key>
<string>RepoWatch</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>LSMinimumSystemVersion</key>
<string>10.6</string>
<key>CFBundleVersion</key>
<string>Beta26</string>
<key>NSMainNibFile</key>
<string>MainMenu</string>
<key>NSPrincipalClass</key>
<string>NSApplication</string>
</dict>
</plist>
你忘了包含'ls -l/Applications/Adium.app/Contents/Info.plist'的輸出嗎,還是你不打算在第一個地方加入那個命令? – 2010-02-02 05:44:57
我遇到了該塊的格式化問題,並以某種方式被刪除。它已被添加。我也刪除了我的文件的擴展屬性,這沒有什麼區別。 「 – 2010-02-02 06:56:22
」......我不確定這件事發生了多長時間,或者緊接着發生了什麼樣的變化。「如果你的版本控制系統有一個平分命令,現在是時候使用它了。 (如果你沒有使用版本控制,這是一個很好的例子。) – 2010-02-02 07:15:24