>source

빌드를 시도 할 때마다 실행되는 스크립트 실행 (컴파일 소스 위)이 있습니다. 이것은 외부적인 이유로 "출력 파일"목록 (실제 스크립트 코드 아래)에 경로를 추가 할 때까지 오랫동안 작동 해 왔습니다. 이 작업을 수행 할 때 Xcode는 모든 빌드 전에 스크립트를 실행할지 여부를 스스로 결정하는 것처럼 보입니다. 출력 경로에 파일이 있는지 확인하고 실행 여부를 평가하기 위해 "createdDate"또는 "modifiedDate"와 같은 내부 논리가 있는지 확인한다고 생각합니다.

매번 실행하려면이 스크립트가 필요합니다. 3 초 전에 해고 되었어도. 매번 강제로 실행하는 방법이 있습니까?

"rm -rf outputPath"가있는 관련 스크립트 앞에 "스크립트 실행"을 추가하려고했지만 여전히 건너 뛰었습니다.


  • 답변 # 1

    문제의 스크립트는 Apollo의 GraphQL 항목의 일부였습니다. 우리 프로젝트에서 많은 .graphql 파일을 가져 와서 우리가 사용할 API.swift 파일로 변환/생성합니다. 일부 외부 CI 항목으로 인해 스크립트의 "출력 파일"에 출력 파일의 경로를 추가해야했습니다. 이것은 Xcode가 이전에 생성 된 파일을 "충분히 양호"한 것으로 간주하여 .graphql 파일의 내용이 그 동안 변경 되었음에도 불구하고 다시 생성하지 않기 때문에 때때로 스크립트가 무시되는 원인입니다.

    모든 .graphql 파일을 포함하는 모든 폴더의 경로를 .xcfilelist에 추가하고 "출력 파일"위의 "입력 파일 목록"에 추가하여 문제를 해결했습니다. 이렇게하면 Xcode가 빌드 할 때마다 이러한 파일이 변경되었는지 여부를 확인하고 필요할 때 재생성합니다.

    이것은 원래보다 훨씬 나아졌습니다 (생성하는 데 몇 초 밖에 걸리지 않았지만 매번 재 생성됨). Apollo/GraphQL을 사용하는 모든 사람에게 동일한 작업을 권장 할 수 있습니다.

  • 이전 java - ARGON2id로 암호가 인코딩 된 경우 JBoss 인증
  • 다음 javascript - 한 텍스트 상자에서 Lable로 텍스트를 복사하는 방법