Xcode - #IBDesignables - Required code signing missing for X.framework - xcode

I know similar questions has been asked before but nothing seems to work for me.
Im using CocoaPods and installing framework "X". This can be anything that can be edited directly in the Storyboard. Two examples are "MBCircularProgressBar" and "UICircularProgressRing".
Im adding it to a UIView and getting this error instantly. It messes up my storbyboard but the app is running fine.
I'm using the newest version of Xcode, newest MAC OS.
What have i tried?
Deleted everything in DerivedData for Xcode
Clean, build, refresh views ++
Removing the problem pods and reinstalling/trying a different one
Disabled "Automatic code signing" in "General" and set it manually to my company
Error at the moment shows :
Main.storyboard: error: IB Designables: Failed to render and update auto layout status for Dashboard_UsageVC (mqT-RZ-029): dlopen(MBCircularProgressBar.framework, 1): no suitable image found. Did find:
MBCircularProgressBar.framework: required code signature missing for 'MBCircularProgressBar.framework'
UPDATE 23.04.2018 - Still not solved
Still having this problem. I have gone to the extreme and fully reset my MAC. Reinstalled everything. Same problem. Even when downgrading CocoaPods to 1.4.0 and Xcode to previous version. To avoid pulling all my hair out Im now finishing the rest of the app where nothing special is needed and hoping for a magic solution for this closer to app release.

It has been fixed with Cocoapods 1.5.2 (and probably 1.5.1 but I have upgrade directly from 1.5.0 to 1.5.2).
UPDATE
I may have spoken too fast.
The error re-appears after a few builds.
However, this workaround seems to work (applies to Cocoapods 1.5.x) until the bug fix is merged:
clean your project
close Xcode and delete DerivedData
open Podfile in your project , and add this:
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings.delete('CODE_SIGNING_ALLOWED')
config.build_settings.delete('CODE_SIGNING_REQUIRED')
end
end
then in command line do a:
pod update or pod install
Sources:
https://github.com/CocoaPods/CocoaPods/issues/7606#issuecomment-381279098
https://github.com/evgenyneu/Cosmos/issues/105
https://github.com/Skyscanner/SkyFloatingLabelTextField/issues/201#issuecomment-381915911

Same bug for me.
For me, it cames after installing the last version cocoapods 1.5.0. So I downgraded it to 1.4.0 and the bug disappear.
sudo gem uninstall cocoapods
sudo gem install cocoapods -v 1.4.0
Hoped it will helped you too.

This works fine for me.When I downgrade cocoapods to 1.4.0,the problem disapper.
I am using DownloadButton.

Related

Trouble with pod install of hermes engine on m1 mac

I've created a React-Native application as of 0.70.6, went through the grief of cocoapods and everything that comes with development on Apple's silicon chips (M2) and got it working and have done quite a bit of work on the project, and then (after creating a GitHub repo) handed it off to a coworker to do some design work (who is on an M1) ...had many issues on their machine as well, but eventually got it working. Now, React-Native 0.71.0 has been released and I ran through all of the steps to upgrade it and got it working on my M2 machine, no issues at all, but after pushing and getting it on their machine, I have not been able to find a solution to the pod install failing due to the hermes-engine not being able to load, a couple of the errors that pop up are,
[!] Failed to load 'hermes-engine' podspec:
[!] Invalid `hermes-engine.podspec` file: undefined method 'exists?' for FileClass.
I have been searching all day for what this means (I am fairly new to React-Native ...and mobile development in general) and I've gathered that 'exists?' has been deprecated as of certain versions of ruby (I'm on 3.2.0) although, it runs fine on my machine, so I am confused as to what could be missing. I've been using chruby to install ruby, and the only difference there is that I have ruby versions 2.7.5 and 2.7.7 on my machine ... but of course, there are flags that I had to set in order to actually be able to install them on my machine and I don't believe they affect my project since bundle install and pod install works using 3.2.0.
To list out what all I have installed on these machines:
bundler -> 2.4.1
cocoapods -> 1.11.3
ruby -> 3.2.0
node -> 18.13.0
xcode -> 14.2 (with command line tools)
Another bit of error reporting, in case it is useful:
Command `pod install` failed.
└─ Cause: Failed to load 'hermes-engine' podspec:
[!] Invalid `hermes-engine.podspec` file: undefined method `exists?' for File:Class.
# from /Users/<user>/projects/<app_dir>/node_modules/react-native/sdks/hermes-engine/hermes-engine.podspec:46
# -------------------------------------------
# source[:http] = "file://#{destination_path}"
> elsif File.exists?(hermestag_file) && isInCI
# Pod::UI.puts '[Hermes] Detected that you are on a React Native release branch, building Hermes from source but fetched from tag...'.yellow if Object.const_defined?("Pod::UI")
# -------------------------------------------
If there is any information that I need to include for clarity, I will update this post as need-be.
I've tried removing the Pods file, and then pod install... same error
Removed Podfile.lock, cache clean AND removing Pods... same error
Removing node_modules/ npm cache clean --force && npm install
then doing npx pod-install to hopefully let node handle things... same error
Ran pod deintegrate and pod install... was scary, broke things, so reverted, back to square 1
There are other things that I've tried earlier today that I cannot remember, and they've gone home, so I can't access all the commands I ran, but these were the freshest, and until I get a more clear view, I'll be trying to get those flags that need to be set to install the older versions of ruby to see if that does anything
One last mention though, we also recently got an M1 Mac Mini, and I ran through all of the steps to get the project working...ended up in the same rut as the other M1, but again, will be trying those LD_FLAGS or whatever it may be and update this thread if that is what fixes the issue
Looking at older issues related to these, people found work-arounds using -x86_64 commands, and I've managed to get this far without any since maintainers have released newer versions with arm64 support, but if I need it anywhere, so be it, I'll take what I can get at this point
Without needing to install other versions of ruby or anything, I got it install the hermes-engine pod by doing something I find dirty...which is just go into that file it mentions and remove the 's' in exists? so it just says exist? and then I also downgraded cocoapods from 1.11.3 to 1.11.2 and seeing how that .podspec file is laid out, it conditionally loads the engine by first seeing if is downloaded on the machine, and then once it sees that it is not, that's where it eventually hits this problem code with the exists conditional...so it downloaded everything and worked fine and I was able to build and run my app on the mac mini...but when trying the same steps on the other m1 machine, I got a very useful error -- Oh no, an error occured ...perfect, and now I am questioning if these changes I have made will effect the M2 pod commands
If there is no better answer provided in the next few days, I'll assume this is the best possible fix until react-native upgrades their ruby version to 3.2.0 which after some more digging...is the exact release that this exists? file method was removed
But would still love feedback for anyone else using an M1 MacBook who has had these issues on the stable release of React-Native 0.71.0

IBDesignables, no suitable image found, required code signature missing

I recently made some changes to Assets.xcassets and this caused absolute chaos for XCode. I ended up with multiple errors of this kind: Failed to render and update auto layout status for *MyViewController* (6jf-cd-DYU) dlopen (AFramework.framework, 1): no suitable image found. Did find: Aframework.framwork: required code signature missing for 'Aframework.framework' in both .storyboard and .xib files.
Aframework is a placeholder for multiple Pod frameworks I have as dependencies. These worked fine before I modified xcassets.
I tried everything I could find related to this but I've gotten nowhere: Cleaned Derived Data, ran clean/build, removed all XCode cache folders, reinstalled XCode entirely, Refresh all views etc. It compiles and runs fine, everything works in the app (and no images or resources are missing), but all my Storyboards are blank (all white), which makes it pretty hard to work.
I also tried pod deintegrate, removed the xcworkspace-file and reinstalling pods (since the error points to a Pod framework). I also revoked and re-issued all my certificates through XCode since it points to code signing as a problem.
EDIT: I Completely reinstalled OSX and cloned the repo from Git from a working configuration. No change. This must be something other than the xcassets-theory, because even if I check out commits from weeks ago (where I know for sure this wasn't a problem) I still get the error. Maybe something was updated by Apple between now and the last time it worked. I've given up and moved on for now. I'll just click through the views in the explorer on the left side instead of inside the storyboard. Hopefully someone somewhere figures this out at some point.
This issue looks like Cocoapods bug and caused by CODE_SIGNING_ALLOWED and CODE_SIGNING_REQUIRED keys in settings of Pods.
Adding this code in the end of pod file will fix an issue (don't forget do then pod install):
# Workaround for Cocoapods v.1.5 issue #7606
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings.delete('CODE_SIGNING_ALLOWED')
config.build_settings.delete('CODE_SIGNING_REQUIRED')
end
end
It turns out this was related to cocoapods. 1.5 has issues with XCode 9.3 it seems. I downgraded to cocoapods 1.4 and the issue went away. Please see this thread on GitHub.
Edit: This issue has been fixed. The latest version of CocoaPods no longer suffers from this problem, so all you have to do is update.
Just adding a complete version of Igor's answer
Please don't downgrade cocoapods. Instead modify pod files as bellow.
#Replace 9.0 with your project ios version
platform :ios, '9.0'
target 'YourProject' do
frameworks
use_frameworks!
pod 'Alamofire', '~> 4.7'
pod 'AlamofireObjectMapper', '~> 5.0'
pod 'SDWebImage', '~> 4.0'
end
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings.delete('CODE_SIGNING_ALLOWED')
config.build_settings.delete('CODE_SIGNING_REQUIRED')
end
end

Cocoa pod v0.39.0 not working with Xcode 8

My current project using cocoa pods of version 0.39.1, and my current pod version in my system is 1.1.1, so when i try to install the cocoa pods in my project path, it gave me warning saying
[!] Invalid Podfile file: [!] Unsupported options {:exclusive=>true} for target Xxx Xxx XxxxTests..
so i have uninstalled pod v1.1.1 and installed 0.39.1. Now when i run install command i get another warning
[!] The master repo requires CocoaPods 1.0.0 - (currently using 0.39.0) Update Cocoapods, or checkout the appropriate tag in the repo.
i'm aware that Xcode 8: Only works with CocoaPods 1.1.0
Should i update my project pod file to latest pod version or should i work with lower version of xcode so it supports v0.39.0
I recently completed a project where I had to migrate a dozen or so (private) Cocoapods from 0.39 up to 1.1.X.
It's actually not that hard, once you get the hang of it (and, at least in my case, the Podfile I put together for 1.1.X continued to work the occasional times I had to drop back down to Pods 0.39)
As you've discovered, you do need to remove ":exclusive => true" and "link_with" (which gets replaced with abstract_target). More information can be found in this Pods migration guide. Here is another "mini" example.
And other people have asked related questions here before. My recommendation is to go up to Xcode 8, otherwise you'll won't be able to do pod update and keep up to date with the latest changes in the Pods you're trying to leverage in your code.

I'm stuck with CocoaPods

I'm seriously stuck with CocoaPods. Please help!
Can someone please tell me where i'm going wrong? I'm doing an online Objective-C course. I've been stuck on CocoaPods for far too long. I completed the CocoaPods course and seem to have installed everything correctly.
I have followed these steps in line with this tutorial:
1) I created a podfile within the PhotoBombers Xcode project.
2) Within Xcode I clicked on the podfile, then entered: pod 'SimpleAuth/Instagram'
3) I then searched for the Terminal using Spotlight. Within the terminal I then entered 'pod' and pressed enter (as shown in the tutorial), however the following code appeared and looked nothing like the code in the tutorial:
Usage:
$ pod COMMAND
CocoaPods, the Cocoa library package manager.
Commands:
cache Manipulate the CocoaPods cache
init Generate a Podfile for the current directory.
install Install project dependencies to Podfile.lock versions
ipc Inter-process communication
lib Develop pods
list List pods
outdated Show outdated project dependencies
plugins Show available CocoaPods plugins
repo Manage spec-repositories
search Search for pods.
setup Setup the CocoaPods environment
spec Manage pod specs
trunk Interact with the CocoaPods API (e.g. publishing new specs)
try Try a Pod!
update Update outdated project dependencies and create new
Podfile.lock
Options:
--silent Show nothing
--version Show the version of the tool
--verbose Show more debugging information
--no-ansi Show output without ANSI codes
--help Show help banner of specified command

How to install ConvenienceKit Framework via Podfile Swift

I've tried multiple methods and Xcode versions to install this method and use it but every time when i use import ConvenienceKit it always fails by saying "No such module ConvenienceKit"
https://github.com/MakeSchool/ConvenienceKit
it can be installed by using use_frameworks! in the Podfile and pod 'ConvenienceKit'. Everything installs fine, just doesn't work.
What am i missing ?
To use pods use have to work in a 'workspace' with the the pod that you are using. If you are using a workspace and it is sill not working you can try the following:
Check to see if there is a update for CocoaPods
Check to see if there is a update for Xcode
Uninstall Xcode and re install it.
Hope this works.

Resources