Nice programing

Xcode 6 오류 : "포함 된 바이너리의 번들 식별자에 상위 앱의 번들 식별자가 접두사로 붙어 있지 않습니다."

nicepro 2020. 11. 30. 19:56
반응형

Xcode 6 오류 : "포함 된 바이너리의 번들 식별자에 상위 앱의 번들 식별자가 접두사로 붙어 있지 않습니다."


확장 프로젝트를 빌드하려고하는데 Xcode가 주제에 오류를 계속 던집니다.

Xcode 로그 오류

오늘날에도 확장 프로그램의 번들 ID 앱의 번들 ID로 시작됩니다.

상품명: ro.chitza.TodayPics.$(TARGET_NAME:rfc1034identifier

확장 번들 ID

나는 빌드 폴더를 청소하고 재 구축을 시도했지만 운이 없다. 재미있는 것은 전체 프로젝트가 몇 번 빌드되었지만 일부 코드와 UI 변경 후 실패하기 시작했다는 것입니다. 새 프로젝트를 만들어도 5 ~ 6 번 정도 빌드하면 똑같은 일이 일어납니다.

다른 사람이이 오류가 발생 했습니까? 솔루션이나 해결 방법에 대한 힌트가 있습니까?


빌드하기 전에 청소를 시도하십시오. 이것은 나를 위해 문제를 해결했습니다 (Xcode 6b2).


WatchOS 2가 도착했을 때 번들 ID 동작이 변경된 것 같습니다.

이전에는 다음과 같은 확장 번들 식별자가있었습니다.

com.mycompany.myappname.watchkitextension

Stackoverflow의 다른 곳에서는 확장 번들 식별자가이 형식이어야한다고 언급되었지만 내가 무엇을 시도 했든 상관없이 Xcode가 계속 오류를 던졌습니다.

가능한 유일한 해결책은 확장 번들 식별자를 다음과 같이 변경하는 것입니다.

com.mycompany.myappname.watchkitapp.watchkitextension

나는 이것이 WatchOS 1 앱의 경우가 아니라고 확신합니다. 이 변경으로 인한 문제는 실제로 번들 식별자에 대한 앱 ID를 생성 할 수 없다는 것 com.mycompany.myappname.watchkitextension입니다. 이는 필요하지 않습니다. 빌드 설정의 모든 프로비저닝 프로필을 자동으로 설정하고 릴리스 / 임시 / 디버그 체계에 적합한 코드 서명 인증서를 사용하는 것을 잊지 마십시오.

Xcode가 문제 해결을 제안했기 때문에이 접근 방식이 작동한다는 것을 실제로 알게되었습니다.


다음과 같이 변경했습니다.

기본 앱 번들 ID : com.myapp.testapp

확장 앱 번들 ID : com.myapp.testapp.myextension

그리고 그 작품 !!!


확장의 info.plist에있는 BundleID를 필요한 것으로 수동으로 변경해야했습니다.

레이더를 제출했습니다 : rdar : // 17487465


이것은 나를 도왔습니다.

확장에는 상위의 번들 ID가 접두사로 있어야합니다.

예를 들어 앱이 com.ronnathan.myapp 인 경우 내선 번호는 com.ronnathan.myapp.today 여야합니다. 앱 대상의 이름을 변경 했으므로 이제 확장 대상으로 이동하여 이름을 일치하도록 변경하십시오.

여기에서 가져온


Target-> General-> Embedded Binaries는 이전 파일을 삭제하고 새 파일을 선택하여이 문제를 해결했습니다. 여기에 이미지 설명 입력


I got the same error, you probably add a extension like Today widget, since the extension is also a binary itself so it has its own plist, and make sure in extension's plist the bundle id is prefixed with app's bundle id. Hope this helps.


In my case, this error occurred when I changed App bundle identifier. I also have WatchKit App in my project.

To fix this, update the WatchKit Extension and WatchKit App bundle Id prefix with the new bundle id of your app. Check info.plist in both targets.

Also update the following -

Update the following with the new Watch App bundle id. WatchKit Extension > Info.plist - NSExtension->NSExtensionAttributes->WKAppBundleIdentifier

Update the following with the new app id. WatchKit App > Info.plist - WKCompanionAppBundleIdentifier

After changing all the values don't forget to Clean product once.


It might have happened that you duplicated your targets to do a clone app. For instance you selected each of your targets and duplicated them. When you cloned your watchkit extension target its target membership could be automatically assigned to the original watch app.

To fix this, you would need to go to yours original "WatchKit extension.appex" file in Project Navigator and unselect Target Membership in File Inspector for your new clone watch app target. You should do the opposite for your duplicated "Watchkit extension-copy.appex" and make sure it has only duplicated "watch app-copy" target selected there.


Make sure your:

Target App A -> Built Settings -> Code Signing -> Release

is the same with:

Target App A (Extension) -> Built Settings -> Code Signing -> Release


I tried most of the solutions given here, but it did not helped me to fix the issue in Xcode 9.4

This SO Answer helped me fix the issue.

What i did is simply

  1. Unchecking the Automatically manage signing for all the targets and the project

  2. In code signing making it iOS Developer for all the targets and the project.

  3. Clean the project, then close the project and open it.

  4. Now Enable the Automatically manage signing for the target and choose the developer account. Then build it.

It fixed me the error. I don't know when Apple will fix these type of issues. It eats lot of hours.

Edit: I am using This answer too, That my target bundle id is com.companyname.projectname and for the extension bundle id com.companyname.projectname.myextension


The problem is likely that you added a folder using "Create folder references" when adding it to your project (like I did). @Jacob's fix didn't work for me :(

여기에 이미지 설명 입력

I had to delete the folder reference I added to my project, then clean and build, and that fixed it for me.

여기에 이미지 설명 입력


Just delete apps provision profiles from ~/Library/MobileDevice/Provisioning Profiles, reload Xcode and fix issues when Xcode prompts so (or manually download them from iOS dev center).

Fixed this problem for me.


I was having the same problems. Changing the CFBundleIdentifier for my WatchKit extension to something other than the original value used when I first added the WatchKit extension and re-setting my shared app group entitlement fixed it for me.


I just clean derived folder and it helps me in these situations.


각 대상> 빌드 설정> 제품 번들 식별자> (이름 변경)으로 이동하십시오.


이것은 나에게 도움이되었습니다.

나는 얻고 있었다 :

Xcode가 일치하는 iOS 앱 개발 프로비저닝 프로파일을 찾을 수 없습니다.

그래서 번들 식별자 이름을 ie com.example.something변경 com.example.something1한 다음 빌드를 정리했습니다.

종속 번들 ID도 모두 변경해야합니다.


Extension의 번들 식별자에 App Bundle 식별자가 접두사로 추가되었는지 확인합니다. 동일하고 여전히 오류가 발생하면 Extension의 .plist 파일로 이동하여 Bundle Identifier를 변경하십시오.

참고 URL : https://stackoverflow.com/questions/24045417/xcode-6-error-embedded-binarys-bundle-identifier-is-not-prefixed-with-the-par

반응형