2015-02-03 14 views
7

Xcode 6.1.1참조 된 프레임 워크에 Xcode6 코드 서명이 필요합니까?

배포를 위해 (또는 물리적 장치로 테스트하기 위해) 앱에 서명하려고합니다. 프로젝트에 참조 된 프레임 워크가 있습니다. 우리는 앱 자체에만 서명해야한다는 인상하에 있었고 (우리는 모든 코드 서명 ID, 프로비저닝 프로파일 등을 설정했습니다), 우리가 작성하지 않았으므로이 외부 프레임 워크에 서명해서는 안됩니다. 상위 프로젝트에서 코드 서명 자격 증명을 가져와야합니다.

그러나 실제 장치에서 실행하려고 할 때마다이 참조 된 프레임 워크에서 빌드 오류가 발생합니다. "CodeSign 오류 : SDK 'iOS 8.1'의 'Framework'제품 유형에 코드 서명이 필요합니다.

실제로이 기호를 코딩해야한다는 의미입니까?

특히 우리가 사용하려고하는 프레임 워크는 Alamofire입니다.

답변

4

내가 그것을 그 프레임 워크가 어디에서 왔는지에 따라 생각 : 그들은 당신을 경우

  • (프로젝트와 함께 번들로하고 즉 내부 라이브러리), 당신이 그들을 로그인해야합니다.
  • 소스 (즉, Cocoapod의 포드)에서 빌드하는 오픈 소스 프로젝트에서 온 것이라면 서명해야합니다.
  • 타사 개발자의 경우 개발자는 이미 서명해야합니다.

    Embed frameworks build phase

    그것은 아무튼 "삽입 프레임 워크"라고 AA 단계는 코드 서명에 번들에 포함 무엇을 할 프레임 워크를 지정할 수있는 대상의 "페이즈를 구축"에있다

그들이 이미 서명을 가지고 있다면 문제가 될 것입니다.

당신은 항상 동시 설계 명령 줄 도구와 프레임 워크의 인증서 상태를 확인할 수 있습니다

xcrun codesign --verify --verbose [MYFramework.framework/MYFramework]

와 함께 노래 엔티티를 인쇄 : 엑스 코드 7이 아무튼으로

xcrun codesign --display --verbose [MYFramework.framework/MYFramework]

+0

더 이상 작동하지 않는 것 같습니다. "Copy on Copy"가 있지만 프레임 워크가 코드에 서명하지 않습니다. 이상한 일은 별도의 프로젝트에 코드를 작성하고 "iPhone 개발자"인증서로 서명했기 때문에 프레임 워크가 서명되었음을 알고 있습니다. 또한, 내 애플 리케이션을 빌드 할 때 경고 : "복사 위상 스트립 건너 뛰기, 이진 코드입니다"서명했다. 그래서 모두가 코드로 서명했다고 생각하지만, App Store에 업로드하려고하면 프레임 워크가 서명되지 않았고 이진을 받아들이지 않는다고 불평합니다. Catch-22, 어떻게해야할지 모르겠다. – Bungles

+0

현재 Xcode 7에 어떤 문제도 없다. 프레임 워크는 앱과 동일한 인증서로 서명되어야합니다. 그렇지 않으면 iTunes가 불평 할 것입니다. 키 체인에 인증서가 여러 개있는 경우 "iPhone Developer"가 다른 프로젝트에 대해 다른 인증서를 선택하는 경우가 있습니다. – duhanebel

+0

Xcode 8에서는 동적 프레임 워크를 혼자서 배포 할 필요가 전혀 없습니다. 따라서 전체 앱 빌드 프로세스 중에 최종 서명에만 의존 할 수 있습니다. 하지만 중첩 된 프레임 워크에는 몇 가지 문제가 있다고 들었습니다. 복사 중 페이징되지 않은 채로 남아있을 수 있으며 이는 문제입니다. – JustAMartin