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

4075 단어 xcodeswiftios


How to create a white label iOS app (Part 1) .

1부에서는 타겟과 화이트 라벨 제품에서 타겟을 사용하는 방법에 대해 이야기했지만 문제가 하나 더 있음을 알아차렸습니다. 각 대상에 대한 .plist 파일을 (쉽게) 구분할 수 없었습니다. 따라서 각 대상에 대한 비공유 파일을 유지하기 위한 구조를 만들어야 합니다.

프로젝트here를 다운로드할 수 있습니다.

먼저 Resources라는 폴더를 만든 다음 RealCoffee 및 TestCoffee라는 두 개의 하위 폴더(New Group 옵션을 사용하는 물리적 폴더)를 만든 다음 각 .plist를 해당 대상 아래에 배치합니다.

참고: TestCoffee copy-Info.plist라는 추가 .plist 파일이 있습니다. 삭제하십시오.

프로젝트 디렉토리는 다음과 같아야 합니다.



프로젝트를 빌드하고 실행하려고 하면 Xcode가 Info.plist 파일에 대해 불평하는 것을 알 수 있습니다. Info.plist 파일의 이름을 변경했기 때문에 Xcode는 파일을 찾을 위치를 모르므로 파일 경로를 설정해야 합니다. Build Settings->Info.plist 파일에서 그렇게 할 것입니다. 경로의 절대값을 사용해야 합니다. RealCoffee의 경우 RealCoffee-Info.plist이고 TestCoffee의 경우 $(SRCROOT)/TestCoffee/Resources/TestCoffee/TestCoffee-Info.plist입니다. 그 이유는 두 파일이 서로 다른 경로에 있기 때문입니다. 차이점을 보여주기 위해 그대로 두었습니다.

우리의 구조는 상당히 이해하기 쉽습니다. 대상 중 하나에만 바인딩된 모든 파일은 대상의 폴더에 속해야 합니다. 설명을 위해 RealCoffee 폴더를 클릭하고 Coffee라는 개체를 만들고 대상을 RealCoffee로만 설정합니다. 그런 다음 TestCoffee에 대한 절차를 반복하고 대상을 TestCoffee로만 설정합니다.

대상 구성원이 다른 두 개의 커피 파일

대상이 파일과 상호 작용하는 방식을 보여주기 위해 서로 다른 구현으로 2개의 Coffee 클래스를 만들 것입니다.

class Coffee {
    static func coffeeDescription() -> String {
        return "TestCoffee"
    }
}
TestCoffee를 위한 커피 클래스



class Coffee {
    static func coffeeDescription() -> String {
        return "RealCoffee"
    }
}
RealCoffee를 위한 커피 클래스



이제 CoffeeIBAction을 업데이트하여 Coffee 정적 함수를 호출해 보겠습니다.

    @IBAction func coffeeIBAction(_ sender: Any) {
        let appName = Bundle.main.infoDictionary?["CFBundleName"] as? String
        let appVersion = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String
        self.popUpOptionDialog("",content: "You have ordered coffee using the \(appName!) app with version \(appVersion!) and coffee description: \(Coffee.coffeeDescription())")
    }
ViewController의 경고 보기



이제 앱을 실행하면 coffeeDescription()의 결과가 대상마다 다르다는 것을 알 수 있습니다.

기본 사항을 이해하기 쉽기 때문에 이 예제를 사용했지만 대상 구성원이 다른 동일한 클래스를 만드는 것은 권장되지 않습니다. 더 나은 방법이 있으며 다음 부분에서 시연하겠습니다!

즐거운 코딩하세요!
Original Article .

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)

좋은 웹페이지 즐겨찾기