After updating iOS, all applications using the framework stopped running on the device, but they run on the simulator
error:
{
dyld: Library not loaded: @rpath/Realm.framework/Realm
Referenced from: /private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Favorite Places
Reason: no suitable image found. Did find:
/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm: code signature invalid for '/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm'
/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm: stat() failed with errno=25
/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm: code signature invalid for '/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm'
/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm: stat() failed with errno=1
/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm: code signature invalid for '/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm'
/private/var/containers/Bundle/Application/43190AF8-F437-4B8F-9827-DDEA599AF618/Favorite Places.app/Frameworks/Realm.framework/Realm: stat() failed with errno=1
(lldb)
}
Solution 1:
I had the same issue with realm, it would work on the simulator but crash instantly on the actual devices. It seems when updating to iOS 13.3.1 Apple changed the behaviour of free apple developer accounts, no longer allowing them to use embedded frameworks.
The solution is to remove the use_frameworks!
in your Podfile and replace it with use_modular_headers!
e.g.
target 'your_project_name' do
use_modular_headers!
pod 'RealmSwift'
end
This will include them as static libraries instead. I stumbled upon the solution in this GitHub issue: https://github.com/Alamofire/Alamofire/issues/3051
Solution 2:
Welp I faced a very similar problem. Did not need to pay my developer account renewal. Yup I'm currently on a free account. Updating to 13.4 and xcode 11.4 still was showing the same issue. So this is what I did:
-Deleted app off phone, cleaned build and removed old profiles(found in
~/Library/MobileDevice/Provisioning Profiles
)
-Deleted everything in "iOS DeviceSupport" file found in
~/Library/Developer
-Cleaned derived data.
-In keychain I deleted all my certificates.
Also removed my account and re-added it upon re-starting xcode (IMO this might have done nothing, but worth adding). Restarted phone and xcode. App is up and running on my phone now! No paid developer account! Oh and podfile...
platform :ios, '13.2'
target 'YourApp' do
use_frameworks!
pod 'Mapbox-iOS-SDK', '~> 5.7.0'
target 'WalkBuddyTests' do
inherit! :search_paths
#pods for testing
end
end