我的 iPhone 最近自动更新到 iOS 13.3.1,直到很晚才知道 Apple 在 Xcode 中的物理设备上测试应用程序时阻止使用一些外部框架。
我不能再在我的 iPhone 上运行我的应用程序(虽然模拟器仍然可以工作,但它更不方便)。我正在使用 cocoapods,导致问题的一个是 Firebase。我需要 Firebase,所以我的问题是:是否有另一种方法可以在不使用 pod 的情况下将 Firebase 集成到我的应用程序中?我仍在将 cocoapods 用于其他事情,它们似乎工作正常,但是对于 Firebase,有没有办法手动添加框架以便仍然能够在我的物理设备上启动它?
作为参考,这是 StackOverflow 上提出的另一个问题,显示了我遇到的确切问题:Library not loaded: @rpath/FBLPromises.framework/FBLPromises iOS 13.3.1
建议包括:
use_frameworks!
在我的 podfile 中与 进行交换use_modular_headers!
,但这不适用于 Firebase,因为许多其他事情都会中断......就像它需要动态才能让 Firebase 工作。- 从 13.3.1 恢复到 iOS 13.3。我当然愿意这样做,我尝试了几天,但看起来苹果现在停止签署 13.3,所以我无法使用 13.3 固件来将我的 iPhone 恢复到以前的版本......意思是我我坚持使用 13.3.1
- 升级到付费开发者帐户。有人说这个问题只存在于免费的开发者帐户,但我现在不愿意冒险升级我的帐户,原因有两个:1)我无法确定这个问题是否会得到解决通过升级我的帐户,我不想在没有保证的情况下花费现金,并且2)我距离将我的应用程序提交到 App Store 仍有一段路要走,所以在我还在的时候不需要向 Apple 支付费用在无限期的开发中。
回到手头的问题:我可以手动将 Firebase 框架添加到我的应用程序,而不会遇到与通过 cocoapods 添加它相关的问题,例如上面链接的问题吗?
编辑 1
这是我的 Podfile 供参考:
# Uncomment the next line to define a global platform for your project
platform :ios, '8.0'
target 'JeegO' do
# Comment the next line if you don't want to use dynamic frameworks
#use_frameworks!
use_modular_headers!
# Pods for JeegO
pod 'Firebase'
pod 'Firebase/Auth'
pod 'Firebase/Database'
pod 'SVProgressHUD'
pod 'ReachabilitySwift'
pod 'SendGrid', :git => 'https://github.com/scottkawai/sendgrid-swift.git'
pod 'iCarousel'
#pod 'PromisesSwift'
end
编辑 2
我最终删除了我的 Firebase pod 并尝试使用 Firebase 的 zip 二进制分发,如下所示,但对于我的生活,我无法让它工作,所以我将它归结为一个失败的原因,不幸的是。按照自述文件集成静态 Firebase SDK 似乎很简单,但它只是添加了大约 50 个“未定义符号”问题等等,所以我最终重新添加了 pod,可能只需要硬着头皮注册付费苹果开发人员程序,以便在我的设备上进行调试...向 Apple 翻白眼...