Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 6 error: "Embedded binary's bundle identifier is not prefixed with the parent app's bundle identifier."

I'm trying to build an extension project and Xcode keeps throwing the error in subject.

Xcode log error

Needless to day, the extension's bundle id is prefixed with app's bundle id.

Product Name: ro.chitza.TodayPics.$(TARGET_NAME:rfc1034identifier

Extension bundle id

I've tried cleaning the build folder and rebuilding, no luck. The funny thing is the entire project got built for a few times, but after some code and UI changes it started failing. Even if I create new projects, the same thing happens after about 5-6 builds.

Did anyone else encounter this error? Any hints for a solution or workaround?

like image 921
chitza Avatar asked Jun 04 '14 18:06

chitza


4 Answers

It looks like the bundle ID behavior changed when WatchOS 2 arrived.

Previously I had an extension bundle identifier like this:

com.mycompany.myappname.watchkitextension

Somewhere else on Stackoverflow it was mentioned that the extension bundle identifier should be in this format, but no matter what I tried Xcode kept throwing errors at me.

The only possible solution is changing the extension bundle identifier to:

com.mycompany.myappname.watchkitapp.watchkitextension

I am pretty sure this wasn't the case with an WatchOS 1 app. A problem because of this change is that you can't actually generate an app id for the bundle identifier com.mycompany.myappname.watchkitextension. This isn't necessary, just set all provisioning profiles in the build settings to automatic and don't forget to use the right code signing certificate for you release/ad-hoc/debug schemes.

I actually found out that this approach works because Xcode suggested fixing the problem and this is what it did.

like image 142
edwardmp Avatar answered Nov 12 '22 15:11

edwardmp


Try a Clean before the Build. This fixed the problem for me (Xcode 6b2).

like image 39
Julian Avatar answered Nov 12 '22 14:11

Julian


For xCode v12 I solved that problem with one click:

TARGETS -> Build Phases -> Embed App Extensions

and check: Copy only when installing

enter image description here

like image 37
Milovan Tomašević Avatar answered Nov 12 '22 13:11

Milovan Tomašević


I made changes like:

Main app bundle id: com.myapp.testapp

and

Extension app bundle id: com.myapp.testapp.myextension

and its works!!!

like image 23
Sandip Patel - SM Avatar answered Nov 12 '22 14:11

Sandip Patel - SM