2016-06-21 6 views
0

나는 Objective-C로 작성된 a project on Github을 구축 중입니다. MAC 주소를 제조업체 세부 정보로 분해합니다. 룩업 테이블은 현재 런타임시 파싱되는 텍스트 파일 manuf.txt (Wireshark 프로젝트에서)으로 저장됩니다. 이는 비용이 많이 듭니다. 나는 이것을 빌드 타임에 보관 된 객체로 컴파일하고로드하는 것을 선호한다.Xcode 프레임 워크 프로젝트에 두 개의 새로운 단계 추가

내가 빌드 단계를 수정하고 싶은 나는 그런 :

  1. 이 컴파일러를 실행
  2. 프레임 워크
  3. 복사를 구축 보관 된 객체를 manuf.txt를 분석하고 출력하는 간단한 컴파일러
  4. 빌드 보관 된 객체를 프레임 워크에 넣으십시오.

나는 달성하는 방법에 대한 지혜를 찾고 있습니다. Xcode로 Xcode v7.3을 사용하는 1 단계와 2 단계는 Copy Files 단계 또는 Run Script 단계 만 제공합니다. 비슷한 목표를 달성 한 다른 프로젝트의 예가 고무적 일 것입니다.

답변

1

나는 당신이 요구하는 것이 가능하지만 까다 롭다고 생각합니다. 그 이유는 여러 개의 클래스 파일을 작성한 다음 동적으로 프로젝트에 추가해야하기 때문입니다.

먼저 실행 스크립트 단계를 사용하여 명령 줄에서 다양한 도구를 실행하여 파일을 구문 분석하고이 파일에서 여러 클래스 파일을 생성해야합니다. 나는 다양한 템플릿 엔진을 조사 할 것을 제안 할 것이다. 예를 들어 appledoc은 콧수염 템플릿을 사용하여 API 문서 파일을 생성합니다. 동일한 기술을 사용하여 헤더 및 구현 파일을 생성 할 수 있습니다.

다음으로, 아카이브 된 객체를 생성하는 대신 프레임 워크로 가져 오기를 시도합니다. 원시 소스 코드를 생성하여 프로젝트에 추가하고 프레임 워크로 컴파일하는 것이 더 나을 것이라고 생각합니다. 아마도 장기적으로는 더 간단 할 것입니다.

생성 된 코드를 자동으로 포함하려면 Xcode 그룹이 아닌 프로젝트에 폴더 참조를 추가하여 실제로이 코드를 시도하지 않았 음을 의미합니다. 폴더 참조는 '파일 추가 ...'대화 상자의 옵션입니다.

폴더 참조는 디렉토리를 참조하고 해당 디렉토리의 전체 내용을 프로젝트에 자동으로 추가합니다. 따라서 하나를 사용하여 소스 코드를 생성 한 디렉토리를 가리킬 수 있습니다. 이것은 프로젝트를 조작하거나 기존 프레임 워크에 사물을 주입하는 것보다 훨씬 더 나은 옵션입니다.

0

런타임에 파일을 구문 분석하는 것을 선호합니다. 시작한 후에는 이미 존재하는 출력을 찾을 수 있습니다. 그렇지 않으면 한 번 구문 분석합니다.

그러나 Objective-Cloud에서 비슷한 작업을 수행해야합니다. 간단히 실행 스크립트 빌드 단계를 추가하고 컴파일러 호출을 추가했습니다.

관련 문제