
platform :ios,'8.0'use_frameworks!workspace 'ProjectWorkspace.xcworkspace'abstract_target 'Shows' do pod 'SwiftProtobuf',git: 'https://github.com/apple/swift-protobuf.git',:tag => '0.9.24' pod 'Firebase/Core' pod 'Firebase/Messaging' target 'HostApp' do project 'HostAppFolder/HostApp.xcodeproj' end target 'HostAppReleaseTarget' do project 'HostAppFolderApp/HostApp.xcodeproj' end target 'FrameWorkProject' do project 'FrameworkProjectFolder/FrameWorkProject.xcodeproj' endend
如果我只将SwiftProtobuf添加为依赖项,它可以很好地用于宿主应用程序以及Framework项目.
如果我添加了Firebase依赖项,则会出现运行时错误,并且应用程序崩溃并显示错误消息
Class Foo is implemented in both,HostApplicationPath and FrameworkProjectPath One of the two will be used. Which one is undefined.
对于Firebase的每个类文件.
当我从框架项目中删除其他链接器标志$(继承)时,它工作正常,但我不能将firebase用于我的框架项目.
我的框架和主机应用程序是用Swfit 3.0编写的,xcode版本是8.x.
我的项目结构是
我手动创建了一个工作区,并将其命名为“EVAWorkspace.xcworkspace”,并将我的主机应用程序和框架项目添加到此工作区,然后我将cocoapods添加到工作区.
Eva是框架项目,EvaApp是主机应用程序项目.
解决方法 在尝试以下各项之前,请使用XCode中的“清理构建文件夹”选项,以确保每次都获得干净的构建.如果你想确定,你可以在开始之前删除〜/ library / Developer / Xcode中的DerivedData文件夹(只需确保在删除时关闭Xcode)首先,确保您的Pods项目在其Build设置中将“Build Active Architecture Only”设置为NO.然后尝试清理构建文件夹并重建.这可能会解决您的问题,否则请继续阅读.
您所描述的问题的最常见原因是:“架构X的未定义符号”是您在代码中导入了库但未正确链接库.
要解决这个问题,你应该:
>将库添加到“BuildPhases”中的“linked Frameworks and librarIEs”
>将库的路径添加到Build Settings下的“library Search Paths”,然后将“-l {your library}”添加到“Other linker Flags”.
如果这不能解决您的问题,可能是链接器没有获得所需的标志.您可以尝试将$(继承)添加回Build Settings的“Other linker Flags”部分.
在尝试这些技术之前,不要忘记清理构建文件夹.
如果完成所有这些后问题仍然存在,请删除项目中所有Cocoapods创建的文件,然后在此处发布pod install –verbose的输出.
总结以上是内存溢出为你收集整理的使用iOS框架开发项目的Firebase Analytics全部内容,希望文章能够帮你解决使用iOS框架开发项目的Firebase Analytics所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)