9

I am writing a static library and when i go to add it into my .ipa file and do an export/submit to apple i get this error.

ERROR ITMS-90166: "Missing Code Signing Entitlements. No entitlements found in bundle 'com.xxxxx.xxxxxxResources' for executable 'Payload/xxxxxxx.app/xxxxReaderResources.bundle/xxxxReaderResources'.""

I have seen a lot of post on entitlements and provisioning files on here but none dealing with static libraries. And the ones I saw didn't really help. The issue is that the resource bundle needs to have entitlements i guess.. i have tired resigning it with iResign and adding an entitlement.plist all failed.

enter image description here

4 Answers4

13

The answer to my problem turns out that i had an executable in my resource bundle. By deleting the Compile Source Phase and the Link Binary with Libraries Phase from my Resource target this removed any executables from my resource bundle and fixed my missing entitlement error

  • I wasted a whole day on this before coming through this post. Thanks a lot. Why are the compile source phase and link binary with libraries phase even there when you do a resource target. argh!!! – Hulk_SMASH May 06 '15 at 00:18
  • 1
    OMG. thank you so much. I have actually had this issue for some time but I've always been able codesign manually in terminal and I had a system down. Of course today it stopped working...when I'm late on a client deliverable and I've been up 36 hours, the last 5 of which were spent code signing and trying everything. LOL. I always thought those phases were weird to have in Resources but did NOT know that caused the executable which is the crux of all the codesign imts-90046, itms-90146 errors I've dealt with over time. You're literally a lifesaver right now thanks! – BFar May 15 '15 at 07:13
  • 3
    Thanks for the tip! I also had to remove the CFBundleExecutable key from the Info.plist of the resource bundle. Otherwise I got an ERROR ITMS-90535. – torrey.lyons Oct 08 '15 at 22:52
  • @Deprecated : Did you build and checked your app after deleting 'Compile Source' and 'Link Binary with Libraries'... Since I'm getting lots of missing Framework folder after doing this. – Jayprakash Dubey Jun 05 '17 at 09:51
  • @JayprakashDubey sorry i can't recall. this was awhile ago – Deprecated Darren Jun 15 '17 at 18:23
7

I had to remove the CFBundleExecutable key from the Info.plist of the resource bundle. Once I did this I was able to upload to iTunes Connect without getting ERROR ITMS-90166

meager
  • 209,754
  • 38
  • 307
  • 315
cmlloyd
  • 975
  • 9
  • 14
  • This should be merged with accepted answer. Removing `Compile Source Phase` and `Link Binary with Libraries` wasn't enough. – Juraj Blahunka Jan 30 '19 at 09:06
1

I had the same problem as you, thanks for your help. I make a bundle to import my database, I've already publish a version of my app with that problem but I can't update it.

I solve the problem as you, in the xproj settings. I remove Compile Sources (where there were my database in old version) and Link Binary With Librairies (empty in old version).

My xproj look at that now, there are only two blocks: My xproj settings

Thanks!!!

Plokstorm
  • 44
  • 1
  • 7
  • 1
    This is very valuable info if you have a database model in your bundle. If you put it into resources it gets compiled into .momd too! – michal.ciurus Nov 12 '15 at 14:49
1

I had this issue. Got it resolved by removing executable file in package content.

Below are steps for the same :

  1. When you've archived your project it opens in Organiser window.
  2. Right click on Archive and select show in finder.

Screenshot 1

  1. Then again right click and select show package content.

Screenshot 2

  1. This will show you entire package content such as dSYM, Product, SCMBlueprint, Info.plist etc.

  2. Select Products -> Application -> [Project].app

  3. Right click on this app file and select show package content

Screenshot 3 and delete it.

  1. This will show you files such as storyboard, Info.plist, app icon etc. Search for any executable file (with an icon of command prompt).

  2. Select this file and right click -> move to thrash

Screenshot 4

Now, when you again upload your app it should work correctly!

Jayprakash Dubey
  • 32,447
  • 16
  • 161
  • 169