iOS8 Dynamic Frameworks -> CodeSign error: code signing is required for product type 'Framework' in SDK 'iOS 8.3'

18,087

Solution 1

I had the same problem but fixed it by:

Setting the team to None in the General tab of the target settings.

Changing this value seems to also reset the code signing params in the build settings, to 'iOS Developer' for both debug and release. If it doesn't then change these params yourself.

I can now build my framework with no errors.

The newly built framework can be checked for signing by entering codesign --display --verbose=4 FRAMEWORK_PATH into the terminal.

This tool should return: code object is not signed at all

Solution 2

The framework does not need its own app ID registered in the developer center, provisioning profile, or entitlements. I have an app on the app store that contains an app target, a today extension target, watch extension targets, and a framework target for shared code.

I was encountering this issue with a second app I was attempting to setup a build for, and I was able to resolve it by changing the signing for my framework to use automatic settings instead of "Don't Code Sign" (iOS Developer identity / Automatic profile). This causes the error to go away and the framework still seems to be resigned during the archive as one would expect. It seems that some build settings are required, even if it is just going to resign.

EDIT: It's worth mentioning that once you set it to automatic, you must also have a provisioning profile installed that is appropriate for the bundle id set for the targets being built (a wildcard development profile should suffice).

Share:
18,087

Related videos on Youtube

Z S
Author by

Z S

www.contactsjournal.com

Updated on June 04, 2022

Comments

  • Z S
    Z S almost 2 years

    I am using the iOS8 Dynamic Frameworks that I build myself and link within my iOS app. It was working fine in the simulator and on device, but when trying to archive a Release build for it, I keep getting this error:

    Code Sign error: No matching provisioning profiles found: None of the valid provisioning profiles allowed the specified entitlements: com.apple.developer.ubiquity-kvstore-identifier, keychain-access-groups, com.apple.developer.icloud-container-identifiers, com.apple.developer.icloud-services, com.apple.security.application-groups, com.apple.developer.ubiquity-container-identifiers. CodeSign error: code signing is required for product type 'Framework' in SDK 'iOS 8.3'

    Within the app target -> Build Phases -> Embed Frameworks -> the framework is linked there, and "Code Sign on Copy" checkbox is checked.

    Within the framework target -> Build Settings -> I have set Provisioning Profile to "Automatic", and for Code Sign Identity, under Release, I am using "iOS Distribution"

    I have 3 different app targets that need to build off this Framework.

    I'm confused:

    • does the framework need it's own AppID registered in the Developer Center?

    • does the framework need it's own Provisioning Profile?

    • can the framework use the same Entitlements file from the iOS app target?

    Thanks.