2012-05-09 2 views
3

내가 작성한 앱에 루아 스크립트가 내장되어 있습니다. iPad에서 스크립트를 편집하고 싶습니다. 가능합니까?iOS의 다른 앱에서 텍스트를 편집하는 방법

내가 생각 된 워크 플로우이었다 :

  1. 내 응용 프로그램과 테스트를 시작;
  2. iPad에서 텍스트 편집기로 이동하여 lua 스크립트를 변경하십시오.
  3. 내 앱을 닫습니다.
  4. 내 앱을 다시 시작하여 스크립트를 다시로드하십시오.
  5. 고토 1.

편집 : 내가 뭘하면 그 텍스트 편집기가 다시 파일을 저장하지 않습니다, 그러나, 내 응용 프로그램에 옵션 "에서 열기"를 추가하고 this question에 따라 텍스트 파일을 열 수 있습니다 어디서 온 거지? 아니면 그냥 복사본을 사용합니까? 이것은 내가 lua 파일을 열 수있는 텍스트 편집기를 찾을 수 있다고 가정하고, 어딘가에 하나가 있다고 상상한다.

+2

응용 프로그램은 샌드 박스이므로 다른 응용 프로그램에서 문서 폴더에있는 모든 항목에 액세스 할 수 없습니다. 귀하의 응용 프로그램에 간단한 텍스트 편집기를 작성하는 것이 좋습니다. – danielbeard

+0

나는 이것을 피하려고 노력했다. 사용 가능한 텍스트 편집기의 수를 감안할 때 가능할 것이라고 생각했기 때문에 :-( – daven11

+0

적어도 많은 예제가있다. 당신은 Codea - http://twolivesleft.com/Codea/? – danielbeard

답변

1

@danielbeard correctly stated 이것은 iOS 샌드 박싱 모델로 인해 데스크톱 (또는 더 허용되는 모바일) OS에서 예상대로 똑같이 작동하지 않습니다. 이는 응용 프로그램 데이터를 응용 프로그램 자체에 효과적으로 제한합니다. sandboxing이 아닙니다 그 자체는입니다.이 버전은 최신 버전의 OS X에도 있지만 iOS는 응용 프로그램의 샌드 박스에 미러링되는 통합 파일 시스템 계층을 제공하지 않습니다. Lion 's TextEdit에서 바탕 화면의 텍스트 문서를 편집하여 간단하게 볼 수 있습니다. TextEdit은 해당 문서가 샌드 박스에 있음을 확인하지만 (~/Library/Containers/com.apple.TextEdit/Data/Desktop), 데스크탑에도 명확하게 저장됩니다 (~/Desktop). 두 디렉토리는 샌드 박스의 목적을 위해 있습니다.

Sandbox me once, edit me twice

크로스 응용 프로그램 파일 층은 아이폰 OS에 존재하지 않습니다. 즉, iOS에서는 모든 응용 프로그램이 자체 샌드 박스에 복사본이 필요하므로 복수 응용 프로그램에서 하나의 동일한 실제 파일 사본을 편집 할 수 없습니다.그러나 다른 응용 프로그램에서 메일 첨부 파일을 열 때 나타나는 것처럼 "sandbox"에서 응용 프로그램 샌드 박스 (엄격히 말하면 : 복사)을 "통과"메커니즘을 통해 iOS 3.2 이후에 파일을 "전달"하는 것이 가능합니다.

Open me up

앱이 메커니즘을 통해 자사의 .lua 문서를 전달할 수있는 기능을 구현하는 경우

, 파일 형식을 인식 텍스트 편집기는 자신의 샌드 박스에 사본을받을 수 있습니다. 나는 구현 세부 사항에 관해서는 혼란 스럽지만, iOS 개발자는 아니지만 OS X의 UTI 선언 규칙과 iDevices를 사용하면서 관찰 한 것들이 사실이라면 public.text UTI에 파일 유형을 삽입 할 수도 있습니다 계층 구조를 사용하여 장치의 모든 텍스트 편집기에 지원 기능을 추가합니다.

수신 편집기가 "열기"를 구현하고 응용 프로그램이 .lua 개의 파일을 편집 할 수 있도록 등록한 경우 나중에 편집자가 파일을 다시 응용 프로그램의 샌드 박스로 복사 할 수 있습니다. 어떤 일이 발생하더라도 (중복 제거, 버전 관리, 메시지를 표시하거나 표시하지 않고 덮어 쓰는) iOS SDK가 부과하는 제약 내에서 사용자에게 달려 있습니다.

애플 개발자 문서를 다음은 유용한 시작점 제공 할 수 있습니다 :

0

iPad를 탈옥하고 OpenSSH를 설치하면 훨씬 더 많은 작업을 수행 할 수 있습니다.

Moai, an SDK for writing games in Lua recently adopted by Double Fine을 사용하여 개발했습니다. 나는 localhost에 대한 SSH 세션을 통해 (iOS SSH 클라이언트 인 프롬프트를 사용하여) 나의 편집자 (Vim)를 사용하여 iPad에서 직접 코드화 할 수있다. 앱을 다시 시작하는 단축키를 매핑합니다. 블루투스 키보드를 사용하면 iPad가 노트북이되는 것과 비슷합니다.

ExpandDrive와 같은 것을 사용하여 iPad의 파일 시스템을 데스크톱 파일 시스템에 매핑 할 수도 있습니다. 그런 다음 데스크톱 컴퓨터에있는 것처럼 파일을 찾아보고 편집 할 수 있습니다. 워크 플로가되도록 당신은 SSH를 통해 응용 프로그램을 다시 시작하여 편집기에서 키를 매핑 할 수 있습니다 :

  1. 편집 루아 스크립트 (들)
  2. 히트 키는 응용 프로그램을 다시 시작하고 변경 내용을 확인합니다.
+0

) 유혹을 일으키는 소리 - 내 친구가 같은 제안. 어쩌면 그게 길 일거야. – daven11

0

탈옥하지 않고 한 응용 프로그램의 sanbox에서 다른 응용 프로그램의 sanbox에 액세스 할 수 없습니다.

+0

** 다른 앱의 샌드 박스에 ** 도달하면 그 정도 정확합니다.그러나 iOS의 LaunchServices의 풍미에 중재 된 ** 샌드 박스 하나에서 다른 서버로 데이터를 보내는 정돈 된 방법이 있습니다 : "공개". [내 대답] (http://stackoverflow.com/a/10548966/990363)을 참조하십시오. – kopischke

관련 문제