2008-09-14 6 views
4

나는 만들고 싶은 아이폰 앱의 디자인에 대해 생각하고있다. 한 가지 가능한 문제는이 응용 프로그램이 특정 네트워크 포트에 액세스하기 위해 루트로 실행되어야한다는 것입니다. 일반적인 유닉스 애플 리케이션에서, 나는 setuid로 실행하는 앱을 얻었을 것이지만, 아이폰 앱으로 가능한지 궁금하다.iPhone 앱을 루트로 실행할 수 있습니까?

나는 실망입니다 애플의 포럼에서이 질문을 읽었습니다 :

http://discussions.apple.com/thread.jspa?threadID=1664575

내가 애플이 프로그램이 수행 할 수있는 작업을 제한하고자하는 것을 이해하지만, 좋은, 합법적 인 많은 이유가있다 높은 권한으로 프로그램을 실행하는 사용자. 여기에 해커 도구를 만들려고하지 않습니다.

감옥에서 깨진 iPhone에서이 문제를 해결할 수는 있을지 모르겠지만 그게 내가 한 일이 아닙니다. 깨지지 않은 iPhone에서 향상된 권한으로 앱을 실행할 수있는 방법이 있습니까?

+0

NDA가 귀하의 문제라고 생각하지 않습니다. 어쩌면 라이센스 및 이용 약관이 iPhone 임). – kokos

+0

일반적인 데스크톱 사용자가 자신의 컴퓨터로 할 수없는 일은하지 않습니다. 권한 상승이 필요한 프로그램을 사용자가 실행할 수있는 정당한 이유가 많이 있습니다. 나는 "해킹"하려고하지 않고있다. –

+0

불법적 인 이유가 너무 많아서 애플이이 기능을 기능으로 추가하는 것을 보지 못할 것입니다. – ceejayoz

답변

5

아이폰 SDK 계약 제 3.3.4 (BTW, 거기에 NDA에 대해 나에게 경고 할 필요가. 없음) 당신이 당신의 샌드 박스 외부에 작동하지해야한다는 것을 의미한다.

Apple has been somewhat arbitrary on which applications they permit이 주어지면 을 확인한 후 개발을 시작해야합니다.

2.0.x와 비교하여, the sandbox restrictions have actually increased in 2.1; 다른 응용 프로그램의 샌드 박스에서 더 이상 읽을 수 없습니다. 따라서 현재 이 앱의 권한을 상승시킬 수있는 일지라도 향후 릴리스에는 제공되지 않을 가능성이 큽니다.

2

당신이 가지고있는 유일한 옵션은

  1. 실행되는 응용 프로그램의 setuid 비트와 소유자 루트를 설정 아이폰

  2. 에 루트로 응용 프로그램입니다.

나는 애플에게 축복받은 것을 볼 수 없다.

나는 당신이 좀 더 세밀하게 권한을 사용할 수있을 수 있습니다 운이 좋다면, 권한으로 수행 할 작업에 따라 달라집니다 것 같아요,하지만 당신은 1024

0

위의 포트를 선택해야 AFAIK하지 않습니다 일반 데스크탑 컴퓨터에서이 작업을 수행 할 수 있다면 문제가 될 수 있습니다. iPhone은 일반적인 데스크탑 컴퓨터가 아닙니다.

데스크톱 컴퓨터와 달리 아이폰에서 탈옥하지 않고 응용 프로그램을 얻는 방법은 App Store에서 가져 오는 것입니다. 전용 앱 스토어를 이용하는 방법은 Apple의 규칙을 따르는 것입니다. Apple의 규칙 은 분명히에 "권한 상승 없음", "샌드 박스 이스케이프 없음"및 "기존 제공된 API 외부의 네트워크 포트에 액세스하지 않음" .

원하는 작업은 입니다.입니다.

관련 문제