我正在尝试构建一个 iOS 框架,为此,我使用了一些依赖项,并且单独构建框架项目时没有出现错误,当我在演示应用程序中使用 CocoaPods 安装时,出现以下错误Undefined symbol: _OBJC_CLASS_$_DFPRequest
.
这就是我在框架中的内容:
Podfile
platform :ios, '10.0'
use_frameworks!
target 'mylib' do
pod 'PrebidMobile'
pod 'Google-Mobile-Ads-SDK'
pod 'mopub-ios-sdk'
pod 'GoogleAds-IMA-iOS-SDK'
end
MyLib.podspec
Pod::Spec.new do |s|
...
s.platform = :ios, "10.0"
s.swift_version = '5.0'
s.xcconfig = {
:LIBRARY_SEARCH_PATHS => '$(inherited)',
:OTHER_CFLAGS => '$(inherited)',
:OTHER_LDFLAGS => '$(inherited)',
:HEADER_SEARCH_PATHS => '$(inherited)',
:FRAMEWORK_SEARCH_PATHS => '$(inherited)'
}
s.framework = [
'CoreTelephony',
'SystemConfiguration',
'UIKit',
'Foundation'
]
s.subspec 'core' do |core|
core.source_files = 'Source/**/*.{h,m,swift}'
end
s.dependency 'PrebidMobile'
s.dependency 'Google-Mobile-Ads-SDK'
s.dependency 'mopub-ios-sdk'
s.dependency 'GoogleAds-IMA-iOS-SDK'
end
横幅.swift
import UIKit
import PrebidMobile
import GoogleMobileAds
import MoPub
enum BannerFormat: Int {
case html
case vast
}
class BannerController: UIViewController, GADBannerViewDelegate, MPAdViewDelegate {
@IBOutlet var appBannerView: UIView!
@IBOutlet var adServerLabel: UILabel!
var bannerFormat: BannerFormat = .html
var adServerName: String = ""
private var adUnit: AdUnit!
private let amRequest = DFPRequest()
private var amBanner: DFPBannerView!
private var mpBanner: MPAdView!
override func viewDidLoad() {
super.viewDidLoad()
adServerLabel.text = adServerName
}
override func viewDidDisappear(_ animated: Bool) {
adUnit?.stopAutoRefresh()
}
func viewControllerForPresentingModalView() -> UIViewController! {
return self
}
}
现在在应用程序演示中,我有
Podfile
platform :ios, '10.0'
use_frameworks!
target 'appdemo (iOS)' do
pod 'MyLib', :git => 'https://...mylib.git'
end
所以,只需运行pod install && pod update
并构建应用程序演示我已经收到错误。
既然单独运行框架是有效的,那么我在这里做错了什么,安装框架不起作用?
LD
/Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/mylib/mylib.framework/mylib
正常(在项目“Pods”的目标“mylib”中)
cd /用户/用户/appdemo/Pods
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
-target x86_64-apple-ios10.0-simulator -dynamiclib -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.3.sdk
-L/Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/mylib
-F/Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/mylib
-F/Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/GoogleUtilities
-F/Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/PrebidMobile
-F/Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/PromisesObjC
-F/Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/mopub-ios-sdk
-F/Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/nanopb
-F/Users/user/appdemo/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current
-F/Users/user/appdemo/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_armv7
-F/Users/user/appdemo/Pods/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current/GoogleMobileAds.xcframework/ios-arm64_i386_x86_64-simulator
-F/Users/user/appdemo/Pods/GoogleAds-IMA-iOS-SDK -F/Users/user/appdemo/Pods/GoogleAppMeasurement/Frameworks -F/Users/user/appdemo/Pods/GoogleUserMessagingPlatform/Frameworks/Release
-F/Users/user/appdemo/Pods/GoogleUserMessagingPlatform/Frameworks/Release/UserMessagingPlatform.xcframework/ios-arm64_armv7
-F/Users/user/appdemo/Pods/GoogleUserMessagingPlatform/Frameworks/Release/UserMessagingPlatform.xcframework/ios-arm64_i386_x86_64-simulator
-filelist /Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/mylib.build/Objects-normal/x86_64/mylib.LinkFileList
-install_name @rpath/mylib.framework/mylib -Xlinker -rpath -Xlinker /usr/lib/swift -Xlinker -rpath -Xlinker @executable_path/Frameworks
-Xlinker -rpath -Xlinker @loader_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/mylib .build/Objects-normal/x86_64/mylib_lto.o
-Xlinker -export_dynamic -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-arc -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/ iPhone模拟器
-L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/mylib.build/Objects -正常/x86_64/mylib.swiftmodule
-framework AVFoundation -framework AdSupport -framework AudioToolbox -framework CFNetwork -framework CoreFoundation -framework CoreGraphics -framework CoreMedia -framework CoreTelephony -framework CoreVideo -framework Foundation -framework GoogleInteractiveMediaAds -framework MediaPlayer -framework MessageUI -framework MobileCoreServices
-framework QuartzCore -framework Security -framework StoreKit -framework SystemConfiguration -framework UIKit -framework WebKit -weak_framework AdSupport -weak_framework JavaScriptCore -weak_framework SafariServices -weak_framework StoreKit -weak_framework WebKit -framework CoreTelephony -framework Foundation -framework MoPub -framework PrebidMobile -framework SystemConfiguration -framework UIKit-Xlinker-no_adhoc_codesign
-compatibility_version 1 -current_version 1 -Xlinker -dependency_info -Xlinker /Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Intermediates.noindex/Pods.build/Debug-iphonesimulator/mylib.build/Objects-normal /x86_64/mylib_dependency_info.dat
-o /Users/user/Library/Developer/Xcode/DerivedData/appdemo-gmoqpiaozrywmeguhfldbwybeebb/Build/Products/Debug-iphonesimulator/mylib/mylib.framework/mylib
体系结构 x86_64 的未定义符号:
"OBJC_CLASS$_DFPRequest”,引用自:
Banner.o ld 中的 objc-class-ref:未找到架构 x86_64 clang 的符号:错误:链接器命令失败并退出代码
1(使用-v查看调用)