2017-04-24 7 views
1

모바일 결제를 개발 한 회사에서 일하기 시작했습니다. 고객의 지불을받는 "터미널"-App가 있으며 사용자가 다운로드하여 사용할 수있는 "Wallet"-App가 있습니다 (해당 터미널에서).기존 iOS 앱을 Whitelabel하는 가장 좋은 방법

프로젝트는 2 개의 목표 (월렛 및 터미널 용)로 구성됩니다. 앱은 2 개국에서만 사용됩니다. 모두 상당히 정교하고 코드 기반이 큽니다.

이제 자신의 브랜딩 (일부 추가 기능 또는 일부 특정 기능 제외)으로 App (두 타겟)을 사용하려는 클라이언트를 위해 전체 제품을 화이트리스트해야합니다. 최선의 방법은 그것을 달성하는 것입니다.

새 폴더에 전체 프로젝트를 복사하고 아마도 가장 "더러운"이 될 것이라고 새 폴더 내 변경하려면

  • 중복 전체 프로젝트 :

    은 현재 내가 3 옵션을 참조하십시오 접근. 어떤 시점에서 첫 번째 코드베이스는 복제 된 코드베이스와 너무 다를 수 있습니다. 또한 보안 관련 문제가 발생할 경우 두 프로젝트에서 수정해야합니다.

    • 는 실제로이 갈 수있는 가장 좋은 방법이 될 것이라고 생각하고 있었다 다른 2 개 목표

    을 만듭니다. 월렛과 터미널에 대한 새로운 타겟을 생성 한 다음 소스 코드에서 현재 타겟을 확인하여 활성화 또는 비활성화해야하는 기능을 결정하면 처음에는 나에게 잘 들립니다. 그런 다음 새 대상을 만들고 그 새 대상에 대해 모든 단일 클래스에 해당 체크 표시를 설정해야한다는 것을 알았습니다. 게다가, 그게 정말로 최선의 방법이라면 나는 더 이상 확신하지 못합니다. 세 번째 옵션은 경우 루프, 애플 리케이션의 하나에서 사용할 수있는 모든 기능을 래핑하는 것

    • 사용하는 경우-조건

    . 설정하기 쉽고 코드베이스를 유지할 수 있기 때문에 이것을 "가장 저렴한"옵션으로 생각합니다.

    다른 옵션이 있습니까? 어느쪽으로 가죠?

    기본 앱과 화이트 라벨이 가장 큰 차이는 언어입니다. 화이트 라벨이 붙은 버전은 오른쪽에서 왼쪽이지만, iOS는 모든 미러링 작업을 수행 할 필요없이 그 작업을 수행합니다.

답변

4

당신은 확실히 추가 목표물을 원합니다. 새로운 목표를 설정하면 별도의 번들 식별자를 사용하고 서명 설정 등을 쉽게 할 수 있습니다. Xcode에서 대상의 빌드 단계 | 소스 컴파일 목록을 사용하는 것이 더 빠를 수도 있지만 새로운 목표에 파일을 추가하기 위해 많은 상자를 체크해야하는 고통처럼 보일 수도 있지만 앱 사이에 실제 분리를 만드는 것은 가치가 있습니다 .

소스 코드 검사를 사용하여 현재 사용중인 화이트 라벨 앱을 확인하는 대신 앱을 데이터 기반으로 만드는 것을 고려해보십시오. plist 파일은 앱의 기능을 결정하는 데 사용할 수 있으며 각 대상에 대해 다른 plist 파일을 사용할 수 있습니다.

예를 들어 기능 이름 집합에 true/false 값이있는 최상위 사전 features을 포함 할 수 있습니다. 파일을 읽는 사람이 FeatureManager이며, 사용할 수 있어야하는지 여부를 알고 싶은 모든 앱 구성 요소에 대한 진실의 단일 소스입니다.

+0

입력 해 주셔서 감사합니다. 나는이 길로 가기로 결심했다. 기존 목표를 복제하고 거기에 변경을 가하는 것만으로 클래스 간 목표를 쉽게 처리 할 수있었습니다. – gasparuff

관련 문제