2017-10-04 3 views
2

프로젝트 작성이 끝나고 AppStore에 릴리스되었습니다. 이제는 프로젝트를 복제하고 번들 ID, 서명 인증서, 초기 화면, 스토리 보드에 사용 된 프로젝트 관련 링크 및 이미지를 변경하고 싶습니다.Xcode 9 - Swift가 포함 된 다중 릴리스 환경

모델 클래스와 비즈니스 모델이 전혀 변경되지 않기 때문에. 그리고 프로젝트를 복사하여 붙여 넣는 대신 클래스를 변경하고 버그가 두 프로젝트에서 수정 될 때 변경 사항은 같은 프로젝트의 인터페이스 및 서명 물건에만 적용됩니다.

그럴 수 있습니까?

어쨌든이 작업을 수행 할 수 있습니까?

답변

1

동일한 프로젝트 비즈니스 (코드) 논리와 다른 번들 ID, 서명 인증서, 초기 화면, 프로젝트 별 링크로 별도의 앱을 만들 수있는 대상 사본을 만들어야합니다.

여기에 중복 목표 작성하는 단계는 다음과 같습니다

  1. 선택 Duplicate (메뉴 팝 오버가 제공 할 것입니다 귀하의 프로젝트 대상 (프로젝트 >> 일반 >> 선택 대상이)
  2. 오른쪽 프로젝트 대상을 클릭하여 선택)

enter image description here

을 중복 대상을 만들려면 옵션
  1. 동일한 비즈니스 로직을 사용하여 새 앱으로 배포 할 수있는 대상의 중복 사본입니다.
  2. enter image description here

당신의 미래 업데이트/소스 코드 파일이 모두 목표를 할당 한 경우 코드의 변화가 모두 대상에 영향을 것입니다.

참고 : 중복/여러 대상을 만든 후에 새 파일을 만들 때 두 대상을 모두 선택하여 두 가지 응용 프로그램에 모두 적용되도록하십시오. 여기에서

enter image description here

봐, 내 새 파일 TestFile.swift는 (링크) 여러 목표를 가지고있다.

enter image description here

이제 프로그래밍 프로젝트 목표를 식별하고 링크를 차별화 할 :

var API_LINK = "" 

if let targetName = NSBundle.mainBundle().infoDictionary?["CFBundleName"] as? String { 

    if (targetName == "Test") { 

     API_LINK = "http://webservice.Test" 

    } else if (targetName == "Test copy") { 

     API_LINK = "http://webservice.TestCopy" 

    } else { 

     print("Something wrong - targetName not found") 

    } 
} 
+1

당신을 감사합니다 :) 쉽게 보인다! 그러나 나는 아직도 질문을 가지고있다.이 방법으로, 링크와 스토리 보드 이미지를 어떻게 지정 하는가? – MBH

+1

위의 설명은 내가 얻지 못한 것이고, 나는'Constants.swift' 파일을 가지고 있는데'API_LINK = "http://webservice.link";','Constants.swift' 파일 안에 어떻게 인식 할 수 있습니까? 어떤 대상입니까? 어떤 API 링크가 필요합니까? – MBH

+1

대상 이름 상수를 사용하면 if-else 조건을 설정해야합니다. 대상 이름 상수 (문자열 또는 열거 형)를 만들고 런타임 중에 확인하십시오. – Krunal

관련 문제