审核 - iOS插件化开发远程更新动态库
迷茫
迷茫 2017-04-17 17:56:36
0
4
487

我现在有一个需求。公司要实现iOS插件话开发(非HTML5方式)。大概的思路是,上架一个主程序,今后添加功能模块的时候,工程师负责开发framework。每次主程序启动的时候,动态从服务器下载该framework。实现应用程序远程更新,而且可以不用商店再次审核。
但是目前遇到的问题是,据说这种远程下载动态库的方式,苹果是不允许的。
有没有哪位知道,苹果为什么不允许,是不允许远程加载,还是不允许使用动态库。大家有什么好的建议么。多谢

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

모든 응답(4)
迷茫

Apple에서 동적 라이브러리를 원격으로 다운로드하여 앱을 업데이트할 수 있도록 허용하면 검토 단계가 무용지물이 됩니다.

洪涛

Objective-C와 JavaScript를 연결하고 위장 모듈을 동적으로 추가하고 수정할 수 있는 오픈 소스 라이브러리인 JSPatch를 살펴보세요.

阿神

죄송합니다. 로컬에서만 테스트해 보았는데 SamirChen이 말한 내용이 프로덕션 환경에서는 작동하지 않습니다. 그의 답변을 참고하세요.


dlopen 메서드를 통해 샌드박스에서 프레임워크를 여는 것이 실제로 가능하며 이 방법은 iOS8이 필요하지 않은 비교적 드문 핫픽스 방법입니다.

어떤 사람들은 시작할 때 서버 측 프레임워크의 zip 패키지를 다운로드한 다음 압축을 풀고 로드하는 방식을 실행했습니다. 이는 실제로 Apple에서 허용되는 회사입니다. 이렇게 핫픽스를 수행합니다.

이 아이디어에 따르면 플러그인 개발이 실제로 달성될 수 있습니다. 왜냐면 다른 JSPatch나 lua 왁스에 비하면 다 js, lua 언어를 써서 OC 인터페이스를 호출하기 때문이죠. 패치는 괜찮지만, 꼭 기능적인 개발을 하고 싶다면 지치기 마련이고, 프레임워크 방식을 사용하는 것은 네이티브로 작성하는 능력 장점과 핫픽스 기능이 훌륭합니다.

근데 왜 시중에는 이런 일을 하는 사람이 이렇게 적은 걸까요? 논리적으로 말하면 Apple은 일반적으로 이러한 행위를 금지합니다. Apple에 따르면 이러한 행위가 발견되면 진열대에서 제거될 수 있습니다(사실 Apple에 따르면 Lua는 허용되지 않지만 누구도 제거된다는 이야기는 들어본 적이 없습니다. 예, js 방법은 괜찮습니다). 그러나 시도해 볼 수 있으며 통과할 수도 있습니다. 예를 들어 검토 중에 이 기능을 비활성화하고 검토를 통과한 후에 켤 수 있습니다.

이런 방법은 예전에도 생각해봤는데 너무 위험하다고 생각해서 안 했어요. 결국 회사 프로젝트라서 시장에서 나가면 제가 책임을 지는 거거든요.

Apple의 검토는 지금도 매우 빠릅니다. 전체 모듈을 원격으로 업데이트하는 경우 패치만 적용하면 됩니다.

이런 종류의 플러그인 개발이 관리하기 더 쉽다고 생각한다면, 다른 사람들이 자체 모듈을 개발할 때 자체 번들과 정적으로 프레임워크와 기본 클래스를 별도의 포드로 분리하는 전용 포드 창고를 사용하는 것이 좋습니다. 도서관. 이러한 방식으로 제출한 내용은 귀하에게 아무런 영향을 미치지 않습니다. 정기적으로 포드를 업데이트하기만 하면 됩니다. 각 모듈을 추가하고 삭제하는 것도 매우 편리합니다(앱이 그만큼 큰 경우).

刘奇

주인님, 저도 최근 이 문제에 주목하고 있는데, 앱을 동적으로 업데이트하는 방법을 구현한 적이 있나요? 그런데 어떻게 해야 할까요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!