화이트 라벨 iOS 앱을 만드는 방법(3부)

2404 단어 xcodeswiftios
에서 논의한 것처럼 대상 멤버십이 다른 동일한 클래스의 복제본을 만드는 것은 권장되지 않습니다.

Part2에 남겨둔 프로젝트here를 다운로드할 수 있습니다.

앱이 실행 중인 대상에 따라 조건을 추가할 수 있는 전처리기 플래그를 사용하여 이 문제를 해결할 수 있습니다. RealCoffee에서 Coffee 클래스를 삭제하십시오. 그런 다음 TestCoffee 폴더 아래의 Coffee 클래스로 이동하여 Target Membership 아래의 RealCoffee 대상을 확인하십시오.

이제 커피 클래스가 두 대상 모두에서 인식됩니다.

이제 각 대상에 대한 식별자를 설정해야 합니다. 두 식별자에 대한 빌드 설정 -> 활성 컴파일 조건에서 이 식별자를 설정합니다. 디버그 및 릴리스 모두에 TESTCOFFEE 및 REALCOFFEE를 사용하십시오.



이제 Coffee 클래스로 이동하여 다음과 같이 coffeeDescription을 수정합니다.

static func coffeeDescription() -> String {
     #if TESTCOFFEE
        return "TestCoffee"
     #elseif REALCOFFEE
        return "RealCoffee"
     #else
        return "WRONG"
     #endif
}

coffeeDescription 함수의 응답이 대상에 따라 달라진다는 것이 코드에서 분명합니다. 응답이 "잘못됨"이면 활성 컴파일 조건을 설정하는 데 문제가 발생한 것입니다.

저는 개인적으로 coffeeDescription 함수에 전처리기 플래그를 사용하는 것을 좋아하지 않습니다. 확장되지 않기 때문입니다. 30개의 대상이 있고 각각에 대해 30개의 전처리기 플래그가 있다고 상상해 보십시오. 나는 당신이 그 옵션이 있다는 것을 알고 싶었습니다! 주의하여 사용하십시오.

즐거운 코딩하세요!

How to create a white label iOS app (Part 1)
How to create a white label iOS app (Part 2)
How to create a white label iOS app (Part 3)
How to create a white label iOS app (Part 4)
How to create a white label iOS app (Part 5)

좋은 웹페이지 즐겨찾기