C# 如何实现Xamarin.Forms-iOS项目的共享扩展?

C# 如何实现Xamarin.Forms-iOS项目的共享扩展?,c#,ios,xamarin,xamarin.forms,xamarin.ios,C#,Ios,Xamarin,Xamarin.forms,Xamarin.ios,我正在尝试为我的Xamarin.Forms应用程序实现共享扩展。我遵循这些原则: 当我运行git repo时,上面的git repo也可以运行。但是我需要为我的xamarin表单项目实现这个。 所以我做了以下步骤: 我右键单击我的xamarin表单解决方案。选择“添加”后,新建项目。我创建了“共享扩展(iOS)”项目。(我选择了.NETFramework 4.7.2) 共享扩展项目是使用ShareViewController创建的。我没有做任何改变 我打开了新创建的ShareExten

我正在尝试为我的
Xamarin.Forms
应用程序实现共享扩展。我遵循这些原则:

当我运行git repo时,上面的git repo也可以运行。但是我需要为我的xamarin表单项目实现这个。 所以我做了以下步骤:

  • 我右键单击我的xamarin表单解决方案。选择“添加”后,新建项目。我创建了“共享扩展(iOS)”项目。(我选择了.NETFramework 4.7.2)

  • 共享扩展项目是使用ShareViewController创建的。我没有做任何改变

  • 我打开了新创建的ShareExtension项目的info.plist。我注意到了。例如,我的xamarin项目的包标识符是“com.xamarin.test”,我的共享扩展项目的包标识符是“com.xamarin.test.share extension”

  • 我选择了主项目和共享扩展的MinimumOSVersion10.0

  • 在我的项目中,NSExtension如下所示:

    扩展 N扩展属性 NSExtensionActivationRule NSExtensionActivationSupportsFileWithMaxCount 1. NSExtensionActivationSupportsImageWithMaxCount 1. NSExtensionActivationSupportsMoviewWithMaxCount 1. NSExtensionActivationSupportsText NSExtensionActivationSupportsWebUrWithMaxCount 1. NSextensionMainstryBoard 主界面 NSExtensionPointIdentifier com.apple.share-services

  • 在清理整个解决方案并重新构建它之后,我将引用共享扩展项目的DLL添加到我的Xamarin iOS项目中。之后,我运行了这个项目(在iPhone7iOS12.0模拟器上)


  • 当我打开照片并单击共享以获取照片时,我希望在共享菜单上看到我的应用程序。但它不起作用。我想我错过了一个步骤,但这是什么,我不知道。

    部署目标可以不同吗?我添加了共享扩展,它直接起作用。Info.plist看起来也很正确。 部署目标是否为iOS 12+

    编辑:第一个答案是另一个问题的答案。让我们假设它从未存在过:)

    你的问题就在这里:

    在我清洗了整个溶液并重新构建之后,我添加了参考 共享扩展项目的dll到我的xamarin ios项目

    在文件中,当提到:

    它必须维护对扩展项目的引用。

    您应该右键单击xamarin ios项目-->
    添加参考
    -->
    选择共享扩展项目
    。你所做的是相反的

    因此,请删除错误的引用并添加新引用,清理并重新生成解决方案,然后再次运行

    更新:

    您需要确保所有项目引用都是正确的。在设备上进行测试时,另一件重要的事情是,确保在链接器处于打开状态的发布配置中进行测试


    最后,如果您想在扩展中使用Xamarin.Forms用户界面(Xaml页面),请遵循此操作。

    我不明白您所说的。我已经这么做了。首先,如果我不执行“清理和重建”,我就看不到添加扩展名到ios项目的任何文件。我正在添加一个关于我做什么的示例项目和视频。我错在哪里?你能帮帮我吗。我被困在这里了。示例视频和应用程序链接:我需要在苹果开发者端执行任何流程吗?因为我看到了这个链接:他说“创建一个应用程序组和配置文件”等等。我也做了这些步骤。但是它没有运行。@Pelinap我的意思是在xamarin ios项目中,您应该添加对扩展项目的引用,而不是在扩展项目中添加对xamarin ios项目的引用。请参阅我更新的屏幕截图。还记得在添加引用后进行清理和重建。@Pelinap右键单击xamarin ios项目-->添加引用-->选择
    project
    not
    Assemblies
    -->扩展项目-->确定。记住删除扩展项目中的旧引用。我尝试了这个。但它仍然不起作用。我不知道为什么。