2015-01-06 3 views
0

대량의 이름을 바꾸고 파일을 변환하는 무언가를 빠르고 더 채찍질하려고 시도하고 루비 모션 라이센스를 사용하면 간단한 응용 프로그램을 만드는 데 왜 사용하지 않을지 생각했습니다. 일부 배치 파일 대신 드래그 앤 드롭하십시오.OSX 용 Rubymotion에 드래그 앤 드롭 기능을 적용하는 방법

그러나 드래그 이벤트를 감지하는 데 문제가 있습니다. 루비 모션에서이를 수행하는 방법에 대한 정보를 찾을 수없는 것 같습니다. 루비 모션을 사용하여 iOS 앱을 만들었고 자신을 잃어 버렸습니다.

도움을 주시면 감사하겠습니다.

+0

OSX에서 직접 드래그 앤 드롭 한 적이 없지만 Apple 설명서를 참조하십시오. https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/DragandDrop/DragandDrop.html –

답변

1

코코아 가이드를 시작하셨습니까? Objective-C로 작성된 것은 쉽게 포팅 될 수 있습니다. 내가 여기에 시작할 것 : Drag and Drop Programming (developer.apple.com)

당신이, 당신이 프로젝트의 지원되는 문서 유형을 수정해야합니다 도크 아이콘에 드래그 지원하려면, 나는이 (rake config을 확인을 할 방법을 잘 모르겠어요, 그것은 줄 수도 단서). 당신은 결국도이 방법을 구현해야합니다 다음 Rakefile

에 설치 블록에

app.info_plist['CFBundleDocumentTypes'] = [ 
    {'CFBundleTypeRole': 'Viewer', 'CFBundleTypeExtensions': ['mp4','m4v','avi','*'] } , 
    {'CFBundleTypeRole': 'Editor', 'CFBundleTypeExtensions': ['txt'] } 
] 

그리고 다음 메서드를 추가합니다

def application(sender, openFile: path) 
    # sender is an NSApplication, path is NSString 
    true # or false 
end 
+0

I 'app.info_plist'가 사용 가능한 것을 잊어 버렸습니다. 그래서 당신은 거기에 문서 유형을 추가 할 수 있어야합니다. XML 키는'CFBundleDocumentTypes'와'CFBundleTypeExtensions'입니다. CFBundleTypeExtensions => [ 'txt'], 'CFBundleTypeRole'=> 'Editor'}]' – colinta

+0

여기에서 키를 받았습니다 : http : // qt-project. org/doc/note_revisions/351/659 /보기 – colinta

+0

조언 해 주셔서 감사합니다! 여전히 obj-c를 루비로 번역하는 데 어려움이 있습니다. OSX 및 iOS 용 정보의 대부분이 Obj-C에 있기 때문에 우선 순위가 높아야합니다. – Saifis

0

당신은 뭔가를 추가해야 AppDelegate 클래스는 app_delegate.rb

def application(sender, openFile: path) 
    true 
end 

rake build을하기 전에 rake clean을 수행하십시오. 그러면 잘해야합니다.

응용 프로그램 아이콘 위에 놓을 각 파일에 대해 application 메서드가 호출됩니다. path에는 삭제 된 파일 경로의 문자열이 들어 있습니다.