我知道有很多关于dyld库没有加载的帖子。但是,似乎常见的线程是它可以在模拟器上运行,但不能在设备上运行。我似乎遇到了相反的问题。我的应用程序在设备上工作正常,但在模拟器上运行时出现以下错误(尝试过iPhone 5,6,7和SE)
dyld: Library not loaded: @rpath/CR_APIKit.framework/CR_APIKit
Referenced from: /Users/me/Library/Developer/CoreSimulator/Devices/3069E359-20EF-4FCB-8565-F5ED29A5F76A/data/Containers/Bundle/Application/2C130BE7-9C2C-40AB-BA19-DDF28D601DD3/MyApp.app/MyApp
Reason: image not found
CR_APIKit是一个本地pod规范,包含一些公共代码(后面会显示PodSpec)。
我在Xcode 8上使用Swift 3定位iOS 9& 10.我正在使用CocoaPods 1.1.1。模拟器和设备都在运行iOS 10。
我尝试了很多解决方案,包括:
值得注意的是,如果我在Target - >下添加CR_APIKit.framework文件,我已经能够在模拟器上运行它。一般 - >嵌入式二进制文件但是,这只是错误的,因为没有一个第三方pod需要这个(例如,Crashlytics可以很好地工作而不需要明确添加它的框架)。
以下是应用程序本身的Podfile:
source 'http://<local-podpec-repo>/podspecs.git'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
pod 'Fabric'
pod 'Crashlytics'
#local pods
pod 'CR_APIKit'
target 'MyApp' do
end
以下是本地套件的pod规范:
Pod::Spec.new do |s|
# ――― Spec Metadata ―――――――――――――――――――― #
s.name = "CR_APIKit"
s.version = "2.1.5"
s.summary = "description"
s.homepage = "http://<path to repo>/apikit.git"
# ――― Spec License ―――――――――――――――――――― #
s.license = { :type => "MIT", :file => "LICENSE" }
# ――― Author Metadata ――――――――――――――――――― #
s.author = { "me" => "me@me.com" }
# ――― Platform Specifics ―――――――――――――――――― #
s.platform = :ios
s.ios.deployment_target = "9.0"
# ――― Source Location ――――――――――――――――― #
s.source = { :git => "http://<path to repo>/apikit.git", :tag => "#{s.version}" }
# ――― Source Code ――――――――――――――――――――――――――― #
s.source_files = "APIKit"
# ――― Project Linking ――――――――――――――――――――――――― #
s.frameworks = "UIKIt", "CoreLocation"
# ――― Project Settings ―――――――――――――――――――― #
s.requires_arc = true
end
这似乎很奇怪,这在设备上运行得很好,但在模拟器上却没有。任何帮助,将不胜感激。感谢。