鉴于此,
有一个iOS应用程序需要分析,它决定使用亚马逊作为提供商。所以我添加了扩容,它可以在iOS和模拟器上正常工作。但是,在构建Mac催化剂时,编译器会产生一组类似的错误,这些错误涉及到不同的XCFrameowrk‘:
在构建Mac催化剂时,没有在“.”中找到该平台的库。工件/AWSiOSSDKV2 2/AWSCore.xcframework‘。
快速搜索显示,亚马逊不想支持催化剂,因为商业原因和有一个开放的问题在这个主题,第一个公关提出了3年前,然后意外关闭。
试图避免错误
分析并不是绝对必要的特性,所以我尝试从催化剂中删除扩增库,并将它们保存在iOS上。我正在使用这个宏(它显然是编译时,而不是构建时,但一些这样的答案报告说,它可能会有所帮助):
#if !TARGET_OS_MACCATALYST
import Amplify
import AWSPinpointAnalyticsPlugin
import AWSCognitoAuthPlugin
#endif
然后,在带有库的链接二进制文件中,我将与相关的libs设置为可选的。在过滤器部分,我删除了Mac催化剂附近的检查点,认为它只允许iOS:
所有这些技巧加在一起并没有帮助,我仍然得到同样的错误。
问:
如何排除某些不受支持的平台的XCFramework?
附注:
似乎,一个新的AWS SDK,声称支持催化剂,正在出现。但是它是原始的和低级的,我只是还没有准备好调试它,并在这个问题的范围内构建我自己的Analytis框架。
发布于 2022-02-20 23:10:40
我没有找到关于斯威夫特PM的确切答案但我能够解决我的问题,只是切换到好的旧(和更灵活的) cocoapods。我使用cocoapods.催化剂.载体来限制iOS的扩增。我的文件:
require 'cocoapods-catalyst-support'
platform :ios, '14.1'
use_frameworks!
target 'MyApp' do
pod 'Amplify'
pod 'AmplifyPlugins/AWSPinpointAnalyticsPlugin'
pod 'AmplifyPlugins/AWSCognitoAuthPlugin'
target 'MyAppTests' do
inherit! :search_paths
pod 'Amplify'
pod 'AmplifyPlugins/AWSPinpointAnalyticsPlugin'
pod 'AmplifyPlugins/AWSCognitoAuthPlugin'
end
end
catalyst_configuration do
ios 'Amplify'
ios 'AmplifyPlugins/AWSPinpointAnalyticsPlugin'
ios 'AmplifyPlugins/AWSCognitoAuthPlugin'
end
post_install do |installer|
installer.configure_catalyst
end
我基本上也做了同样的事情,@PaulBeusterien在评论中推荐,但是这个框架是由cocoapods而不是Firebase ReleaseTooling生成的。
Swift软件包管理器不支持平台过滤器,如2022年2月。我联系了斯威夫特论坛和亚马逊支持,也做了我自己的研究。
https://stackoverflow.com/questions/70826010
复制相似问题