문제

만들고 싶은 아이폰 앱의 디자인을 고민하고 있습니다.한 가지 가능한 문제는 이 응용 프로그램이 루트로 실행되어야 한다는 것입니다(특정 네트워크 포트에 액세스하려면).일반적인 UNIX 앱에서는 setuid를 사용하여 앱을 실행했지만 iPhone 앱에서는 이것이 가능한지 궁금합니다.

나는 Apple 포럼에서 이 질문을 읽었는데, 이는 실망스럽습니다.

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

저는 Apple이 프로그램이 수행할 수 있는 작업을 제한하고 싶어한다는 점을 이해합니다. 하지만 사용자가 높은 권한으로 프로그램을 실행하는 데에는 타당한 이유가 많이 있습니다.여기서는 해커 도구를 만들려는 것이 아닙니다.

나는 탈옥된 iPhone에서 이 문제를 해결할 수 있을 것이라고 확신하지만 그것은 내가 원하는 것이 아닙니다.손상되지 않은 iPhone에서 높은 권한으로 앱을 실행할 수 있는 방법이 있나요?

(그런데 NDA에 대해 경고할 필요는 없습니다.)

도움이 되었습니까?

해결책

iPhone SDK 계약의 섹션 3.3.4에서는 샌드박스 외부에서 작업하면 안 된다고 제안합니다.

을 고려하면 Apple은 허용하는 응용 프로그램에 대해 다소 임의적이었습니다., 반드시 다시 확인해야 합니다. ~ 전에 당신은 개발을 시작합니다.

2.0.x와 비교하면, 2.1에서는 샌드박스 제한이 실제로 증가했습니다.;더 이상 다른 응용 프로그램의 샌드박스에서 읽을 수도 없습니다.그러니 현재라고 하더라도 ~이다 앱의 권한을 높이는 것이 가능하지만 향후 릴리스에는 없을 가능성이 높습니다.

다른 팁

당신이 가진 유일한 옵션은

  1. iPhone에서 루트로 애플리케이션 실행

  2. 애플리케이션 setuid 비트와 소유자 루트를 설정합니다.

나는 그들 중 어느 누구도 Apple의 축복을 받는 것을 볼 수 없습니다.

권한으로 무엇을 하려는지에 달려 있다고 생각합니다. 운이 좋다면 더 세분화된 권한을 사용할 수 있지만, 1024 이상의 포트를 선택해야 합니다.

일반 데스크탑 컴퓨터에서 이 작업을 수행할 수 있다면 전혀 문제가 되지 않습니다.iPhone은 일반적인 데스크톱 컴퓨터가 아닙니다.

데스크톱 컴퓨터와 달리 오직 탈옥하지 않고 iPhone에서 애플리케이션을 얻는 방법은 App Store에서 애플리케이션을 얻는 것입니다.그만큼 오직 App Store에 진입하는 방법은 Apple의 규칙을 따르는 것이고, Apple의 규칙을 따르는 것입니다. 분명히 "권한 에스컬레이션 없음", "샌드박스 탈출 없음" 및 "기존 제공된 API 외부의 네트워크 포트에 액세스하지 않음"을 포함합니다.

당신이하고 싶은 일은 불가능하다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top