2011-01-20 40 views
9

Tôi đang gặp sự cố khi sao chép các thư mục vào các dự án XCode bằng AppleScript. Nếu không có Applescript tôi kéo thư mục vào Xcode.applescript để sao chép các thư mục vào Xcode?

Tôi đã sử dụng trình xử lý Applescript tương tự, như trình bày bên dưới, để sao chép thư viện vào XCode bằng cách sử dụng "wrapper.library" cho loại tệp. Dưới đây tôi đang sử dụng "wrapper.folder" để cố gắng sao chép một thư mục vào XCode và nó không hoạt động.

on addFolder(fname, fpath) 
    tell application "Xcode" 
    tell project "Unity-iPhone" 
    set my_targets to targets 
    set s_target to item 1 of my_targets 
    set compile_phase to compile sources phase of s_target 
    set link_phase to get link binary with libraries phase of s_target 
    tell root group 
    set a to make new file reference with properties {full path:fpath & fname, name:fname, file type:"wrapper.folder"} 
    add a to link_phase 
    end tell 
    end tell 
    end tell 
    end addFolder 

Có ai có bất kỳ ý tưởng nào về những gì tôi thiếu hoặc cách viết một bản sao chép để sao chép thư mục vào XCode không?

+0

Tôi tò mò muốn biết bạn đã giải quyết vấn đề này như thế nào ... –

+0

Plugin Xcode này có thể giúp: https://github.com/larsxschneider/Xcode-Scripting-Interface –

+1

Tôi chưa bao giờ tìm thấy giải pháp ngoại trừ di chuyển các thư mục theo cách thủ công. Tôi biết nó có thể được thực hiện, bởi vì tôi đã sử dụng được biên dịch Applescripts có thể di chuyển thư mục. –

Trả lời

1

Nó đang làm việc cho tôi:

--this is for xcode 3.x 
tell application "Xcode" 
    tell active project document 
     tell root group 
      --Note: Large folders make it seems that the script is hanging. Give it some time to list all items in the given folder. 
      make new file reference with properties {name:"My Desktop Folder", full path:(POSIX path of (path to desktop folder)), file type:"wrapper.folder"} 
     end tell 
    end tell 
end tell 

Mã cho Xcode 4 là một chút khác nhau

--this is for Xcode 4.x 
tell application "Xcode" 
    tell project 1 
     tell root group 
      --Note: big folders make it seems that the application (not the script like in Xcode 3) is hanging. Give it some time to list all items in the given folder. 
      make new file reference with properties {name:"My Desktop Folder", full path:(POSIX path of (path to desktop folder)), file kind:"folder"} 
     end tell 
    end tell 
end tell 

Tùy chọn 'sao chép vào thư mục đích nếu cần thiết' chỉ cần sao chép các tập tin vào dự án (nếu chúng chưa có trong đó) và sau đó tạo một tệp tham chiếu đến các tệp được sao chép thay vì tệp gốc. Bạn có thể làm tương tự với Trình tìm kiếm hoặc lệnh trình bao như cp hoặc ditto, sau đó thực hiện tham chiếu đến các tệp được sao chép. Sau đó, tôi sẽ không sử dụng đường dẫn đầy đủ nhưng đường dẫn tương đối để thay thế. Với đường dẫn tương đối di chuyển dự án đến thư mục khác sẽ không cung cấp cho bạn bất kỳ vấn đề nào.

+0

Thú vị. Thao tác này sẽ thêm tham chiếu tệp thư mục vào dự án. (Chú ý biểu tượng thư mục có màu xanh, không phải màu vàng.) Tuy nhiên, các tệp này không được thêm vào giai đoạn xây dựng hoặc sao chép của dự án. – ThomasW

Các vấn đề liên quan