2013-10-30 3 views
2

방금 ​​Mac OS를 Mavericks로 업데이트하고 프로젝트에서 문제가되었습니다.plist 수정을위한 Apple 스크립트가 MacOS mavericks에서 작동하지 않습니다.

나는 사과 스크립트가있는 plist의 현지화 키를 업데이트하고 있습니다. 그러나 현지화 키를 설정하면 plist 파일은 0KB가됩니다.

Mac OS 10.8에서 작동했습니다. 매버릭스에서

if keyVar as string = "CFBundleLocalizations" then 
         -- Parse the string for delimiter , and get the array of schemes 
         set AppleScript's text item delimiters to "," 
         set theLanguageItems to text items of valVar 
         -- restore delimiters to previous.if not reset then creats error for below code if we have any property below CFBundleLocalizations propert file. 
         set AppleScript's text item delimiters to "=" 
         --if there are localization available 
         if the length of theLanguageItems is greater than 0 then 
          --create structure for CFBundleLocalizations 
          tell application "System Events" 
           set pFile to property list file plistFile 
           tell pFile 
            tell contents 
             --and write to the plist file         
             --make new property list item with properties {kind:list, value:"theLanguageItems"} 
             set value of property list item "CFBundleLocalizations" to theLanguageItems 
            end tell 
           end tell 
          end tell 
         end if 
+0

이 왜 애플 스크립트에서이 일을하는 배열 목록을 작동 실제 솔루션을 무엇입니까? – uchuugaka

+0

Xcode에서 응용 프로그램을 생성하는 자체 도구가 있습니다. –

답변

1

가 예상대로 set value of property list item가 작동하지 않는 애플 스크립트에 대한 행동의 차이를 보인다

다음은 PLIST 키를 변경 내 스크립트입니다.

대체 방법 중 하나는 댓글을 달았습니다 make new property을 사용하는 것입니다. 이 경우 새 속성이 만들어져 기존 속성에 추가됩니다. 그러므로 당신은 그것에 조심해야합니다. 다음은

repeat with theCurrentValue in theLanguageItems 
    make new property list item with properties {kind:string, value:theCurrentValue} 
end repeat