xamarin ios 10 在我的应用程序中以编程方式打开应用程序商店应用程序

2024-01-04

我正在尝试在我的应用程序中以编程方式打开应用程序商店应用程序。

我想做的是,我正在调用一项服务来检查当前的应用程序版本,如果需要更新,我应该打开应用程序商店应用程序,让用户更新我的应用程序。

注意:该应用程序尚未发布到商店,我仍处于编码阶段。

我尝试在 ViewDidLoad 方法中使用以下代码,但它不起作用(什么也没发生):

var nsurl = new NSUrl("itms://itunes.apple.com");
UIApplication.SharedApplication.OpenUrl(nsurl);

直接链接通过itms:仅适用于实际设备,如果您在模拟器上测试,请使用https://itunes.apple.com/us/genre/ios/id36?mt=8反而。

我建议使用itms://实际设备上的链接,因为它可以防止用户在使用时看到的重定向https://打开 iTunes 的链接。

bool isSimulator = Runtime.Arch == Arch.SIMULATOR;
NSUrl itunesLink;
if (isSimulator)
{
    itunesLink = new NSUrl("https://itunes.apple.com/us/genre/ios/id36?mt=8");
}
else
{
    itunesLink = new NSUrl("itms://itunes.apple.com");
}
UIApplication.SharedApplication.OpenUrl(itunesLink, new NSDictionary() { }, null);

您可能不想在设备上打开外部应用商店应用程序,而是考虑使用SKStoreProductViewController:

bool isSimulator = Runtime.Arch == Arch.SIMULATOR;
if (!isSimulator)
{
    var storeViewController = new SKStoreProductViewController();
    storeViewController.Delegate = this;
    var id = SKStoreProductParameterKey.ITunesItemIdentifier;
    var productDictionaryKeys = new NSDictionary("SKStoreProductParameterITunesItemIdentifier", 123456789);
    var parameters = new StoreProductParameters(productDictionaryKeys);
    storeViewController.LoadProduct(parameters, (bool loaded, NSError error) =>
    {
        if ((error == null) && loaded)
        {
            this.PresentViewController(storeViewController, true, () =>
            {
                Console.WriteLine("SKStoreProductViewController Completed");
            });
        }
        if (error != null)
        {
            throw new NSErrorException(error);
        }
    });
}
else
{
    var itunesLink = new NSUrl("https://itunes.apple.com/us/genre/ios/id36?mt=8");
    UIApplication.SharedApplication.OpenUrl(itunesLink, new NSDictionary() { }, null);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xamarin ios 10 在我的应用程序中以编程方式打开应用程序商店应用程序 的相关文章

  • 如何更改 Xamarin.Forms 中标签的字体系列?

    我尝试使用 CSS 和 XAML 更改标签的字体系列 但字体没有反映 我正在尝试在我的应用程序中使用 Montserrat 字体 我怎样才能解决这个问题 XAML 代码
  • 使用 SkiaSharp 在 Xamarin 中加载 SVG 文件

    从版本 1 55 0 开始 SkiaSharp 支持读取 SVG 文件 该软件包已于几天前发布 2016 年 11 月 10 日 但我找不到足够的有关如何使用它的文档 需要以下包 SkiaSharp 1 55 0 SkiaSharp 视图和
  • Azure 应用服务 - 自定义身份验证 - 不允许 HTTP 动词

    我按照本教程在我的 Xamarin Forms 应用程序中启用身份验证 https adrianhall github io develop mobile apps with csharp and azure chapter2 custom
  • Xamarin MasterDetailPage 看起来很难看

    I m trying to create a MasterDetailPage and I am not quite sure if I am doing that right but the drawer master just look
  • 如何结合 AD B2C(MSAL) 和 CosmosDB

    我在我的 Xamarin 表单应用程序中使用 appcenter Auth 和 Data 但微软正在关闭这些服务 所以我现在需要自己做 Atm 这两个允许我使用 ADB2C 验证我的用户 然后授予他们访问 Cosmos 数据库中自己和共享内
  • NameResolutionFailure 与 ConnectFailure 问题

    这是一个相当奇怪的问题 但仍然是一个非常糟糕的问题 当用户在没有互联网的情况下进入我们的应用程序时 我们会返回一个NameResolutionFailure作为尝试通过以下方式进行 API 调用的错误消息HttpClient 好吧 没关系
  • 如何在 C# 中从这个分层父子结构中查找任何项目

    如何从列表中查找任何项目 因为它是动态的 它可能位于列表的任何位置的父项或子项中 并且当子项计数为0时需要停止查找 下面是列表的模型和分层父子结构示例 例子 父级 gt 子级 gt 子级 gt 子级或父级 gt 子级 gt 子级 gt 子级
  • Xamarin:“框架不在模块中”- VS 2013&2015

    我对 XAMARIN 支持感到非常失望 那么 我将从头开始 过去几个月一切都很好 直到我更新了 xamarin 的最新版本 4 0 3 214 结果是我现在无法调试 我收到以下消息 框架不在模块中 我向 Xamarin 支持发送了一封电子邮
  • Xamarin-System.UnauthorizedAccessException:对路径的访问被拒绝

    我正在尝试下载文件 但收到 System UnauthorizedAccessException 访问路径 storage emulated 0 Download test pdf 被拒绝 我已经在 Android Manifest 文件中
  • 录制视频/音频时播放系统声音

    当我开始录制视频时 我试图按照苹果的要求播放 嘟嘟 声 我通过 SO 和其他来源发现 当您有音频输入而没有进行某些配置时 您无法播放声音 这是我尝试的配置方法 private void SetupAudio beepSound AssetB
  • Monotouch如何管理资源(字符串、图像等)?

    在 Android 中 我将应用程序字符串放入名为的文件中strings xml 例如 对于意大利语翻译 我需要创建一个 value it 文件夹并放入strings xml在此新文件夹中包含带有意大利语标签的文件 Monotouch 如何
  • sqlite.net + monotouch = SIGSEGV 崩溃

    我们正在使用以下内容 Xamarin 3 Xamarin 表单 单点触控 sqlite net iOS模拟器 硬件 该应用程序在后台线程上与服务器同步数据 整个应用程序只共享一个 SQLite 连接对象 前台查询在后台同步运行的同时执行 所
  • Xamarin、Autofac、NavigationService 和 BeginLifetimeScope

    关于带有 autofac 的生命周期范围以及何时在 xamarin 应用程序中使用它们的初学者问题 正如这篇文章中提到的 https nblumhardt com 2011 01 an autofac lifetime primer htt
  • 如何从 SQLite 的异步 PCL 版本使用 SQLiteAsyncConnection?

    我使用的是 Sqlite net 的 PCL 版本https github com oysteinkrog SQLite Net PCL https github com oysteinkrog SQLite Net PCL 但是 我无法获
  • GetAsync 请求返回空内容

    我想知道为什么当我在邮递员中尝试它有数据返回时它返回 null 这是我的代码 public async Task
  • Xamarin - 未找到类(Android 支持库)

    我正在尝试使用 AppCompat 实现具有向后兼容性的 Material Design 继tutorial https blog xamarin com android tips hello material design v7 appc
  • 在 MonoDroid 中设置 textview 的文本时,“jobject”不能为 IntPtr.Zero

    我将 MvvmCross 与 MonoDroid 一起使用 在视图模型中的计时器中 我每分钟调用RaisePropertyChanged MinutesRemaining MinutesRemaining是一个整数 指定当前条目结束之前的持
  • Xamarin-ios 共享和接收音频文件

    如何将我的应用程序中的音频文件共享给其他应用程序并从其他应用程序接收音频文件 I would like a functionality like this 我无法附加音频文件 这是代码片段 var fileData NSUrl FromFi
  • Xamarin.Forms 绘图[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在为客户构建一个 Xamarin Forms 项目 我们需要一个图形库它将处理实时流式传输的数据连
  • MonoTouch - 编辑 xib 时缺少头文件[重复]

    这个问题在这里已经有答案了 我使用的是 Mac OSX Lion 10 7 0 带有适用于 IOS 5 的 Xcode 4 2 和 Xamarin 的 MonoTouch 跨平台移动开发工具 允许您使用 C 和 NET 创建适用于 iOS

随机推荐