2017-02-27 8 views
1

이것은 지나치게 야심적으로 보일지 모르지만 한 앱에서보기 컨트롤러를 별도의 앱 (두 가지 모두 작성)에서 제공 할 수있는 기능을 탐색 중입니다. 저는 수업을 재사용하는 것에 대해 이야기하는 것이 아니며, 문자 그대로 다른 프로세스의 컨트롤러를 가장 먼저 제시하는 것을 말합니다.다른 앱에서 UIViewController를 표시 할 수 있습니까?

저는 이것이 macOS에서 XPC의 영역이며 현재 공유 확장이 iOS에서 어떻게 작동하는지 믿습니다. 불행히도 나는 공유 컨트롤러를 찾고 있지 않다.

모든 것이 가능합니까 (필요한 경우 비공개 API 사용)?

+0

재사용 된보기 컨트롤러가 다른 프로세스 또는 제공하는 응용 프로그램에 의해 제어되기를 기대 하시겠습니까? –

+0

@ReinSpijkerman 다른 프로세스에서 제어해야합니다. – Ricky

답변

1

두 앱이 모두 iOS에서 샌드 박스로되어 있기 때문에 두 앱 중 하나가 다른 앱을 찾아로드 할 수있는 방법이 없습니다. 확장 프로그램은 Apple이 다른 응용 프로그램에서 어떤 작업을 수행하도록하는 유일한 방법입니다.

개인 API를 사용해도 샌드 박스 제한이 해제되지 않습니다. jailbroken 장치를 사용하면 다른 응용 프로그램을 찾을 수 있습니다. 이 경우 -[NSBundle loadClassNamed:]을 사용하면로드 된 (응용 프로그램) 번들에서 클래스를 가져와 인스턴스화 할 수는 있지만 인스턴스화 한 프로세스에 의해 제어됩니다.

다른 사용자에게 배포되는 앱에 대해 사용자가 묻는 것은 현실적으로 불가능합니다. 자신을 위해서라면 jailbroken 장치에서 프로세스간에 생성, 제어 및 통신하는 작업을 많이 할 수 있습니다.

0

자신의 서버가있는 경우 가능합니다. app1이 서버에 트리거를 보내면 서버가 app2에 푸시 알림을 보냅니다. 사용자가 알림을 탭하면 app2 viewcontroller가 열립니다.

+1

나는 유사한 것에 대해 생각했지만 URL 스키마를 활용하고 있습니다. – Ricky

+0

그것은 확실히 작동 할 것입니다. ur 응용 프로그램과 함께 행운을 빌어 요. :디 – GeneCode