如何链接到 App Store (iTunes) 中我的应用程序?

2024-05-13

我希望我的应用程序中有一项功能,用户可以使用我的应用程序的 iTunes URL 向朋友发送电子邮件。这怎么可能?

Thanks.


您可以创建更简单、更合乎逻辑的 App Store 链接,而不是通常看到的又长又混乱的 URL。 iTunes Store 有一个更符合逻辑的隐藏 URL 格式。根据您要链接的内容,您只需采用以下格式之一构建 URL:

  1. 艺术家姓名或 App Store 开发者姓名:http://itunes.com/Artist_Or_Developer_Name http://itunes.com/Artist_Or_Developer_Name
  2. 专辑名称:http://itunes.com/Artist_Name/Album_Name http://itunes.com/Artist_Name/Album_Name
  3. Apps: http://itunes.com/app/App_Name http://itunes.com/app/App_Name
  4. Movies: http://itunes.com/movie/Movie_Title http://itunes.com/movie/Movie_Title
  5. TV: http://itunes.com/tv/Show_Title http://itunes.com/tv/Show_Title

只需在您创建的电子邮件正文中包含此格式的 URL 即可。

(请注意,空格可能会导致问题,但我发现省略它们完全对我有用 -http://itunes.com/app/FrootGroove http://itunes.com/app/FrootGroove重定向到名为“Froot Groove”的应用程序。)

(另请注意,如果这对您不起作用,则 iTunes 链接创建器是here http://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStoreServices.woa/wa/itmsLinkMaker)

你的代码将是这样的(从我的代码中提取,匿名且未经测试)

NSString* body = [NSString stringWithFormat:@"Get my app here - %@.\n",myUrl];

#if __IPHONE_OS_VERSION_MIN_REQUIRED <= __IPHONE_2_2
[NSThread sleepForTimeInterval:1.0];
NSString* crlfBody = [body stringByReplacingOccurrencesOfString:@"\n" withString:@"\r\n"];
NSString* escapedBody = [(NSString*)CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault,  (CFStringRef)crlfBody, NULL,  CFSTR("?=&+"), kCFStringEncodingUTF8) autorelease];

NSString *mailtoPrefix = [@"mailto:[email protected] /cdn-cgi/l/email-protection?subject=Get my app&body=" stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

// Finally, combine to create the fully escaped URL string
NSString *mailtoStr = [mailtoPrefix stringByAppendingString:escapedBody];

// And let the application open the merged URL
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:mailtoStr]];
#endif

你可以在 iPhone 3.0 中做更好的事情,但我还不能谈论这些。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何链接到 App Store (iTunes) 中我的应用程序? 的相关文章

随机推荐

  • 如何为多个 BO 属性定义 IDataErrorInfo 错误属性

    我开始通过 IDataErrorInfo 接口在我的 WPF 项目中实现验证 我的业务对象包含多个带有验证信息的属性 如何获取与该对象关联的所有错误消息的列表 我的想法是 这就是 Error 属性的用途 但我无法追踪任何使用它来报告多个属性
  • 使用UDID创建唯一的用户身份

    我正在开发一个 iPhone 应用程序 它与服务器通信以存储和交换数据 因为我想让它尽可能简单 所以我想避免用户帐户的注册 或者也可能使用密码 是否有可能 并且允许 获取 iPhone 设备的 UDID 并制作例如 它的 MD5 哈希值 我
  • 如何在不使用数据库的情况下保存应用程序的配置??? (使用简单的文本文件)

    我需要保存一个简单的字段来配置我的应用程序 因此 我不会使用数据库 它只是一个字段 我需要在文件中保存该字段的 true 或 false 值 并且每次都会有一部分我的应用程序想要检查是否属实 他们必须检查此文本文件 而不是打开与数据库的连接
  • 如何对 Firebase 中托管的静态网站进行 IP 白名单? / 是否有用于 Firebase 托管的 WAF?

    我有一个在 Firebase 中托管的静态网站 我可以很好地附加一个自定义域 我想将对我的网站的访问限制在特定范围的 IP 范围内 我知道在 GCP 中 Google Cloud Armor 可以做到这一点 但 Cloud Armor 仅适
  • 如何预览 Git 中的隐藏内容?

    我想检查一个存储 并找出如果我将其应用于当前状态的工作树 它会发生什么变化 我知道我可以对存储进行 git diff 但这向我展示了工作树和存储之间的所有差异 而我只是想知道存储应用将改变什么 git stash show将向您显示最近存储
  • 继承层次结构中接口与实现的分离(C++ 新手)

    我正在想办法如何安排一些课程 这就是我到目前为止所得到的 继承层次结构的顶层 自然 是 T T h namespace foo class T public virtual void method1 std string a paramet
  • 如何使用 Vue.js 向数组(数据)中的所有对象添加属性?

    背景 我在 data 中有一个数组 其中填充了来自后端的对象 如果 GET 请求检索 6 个对象 这 6 个对象将在数组中更新 Problem 我已经了解需要 vm set 来向对象添加属性 但是如何为数组中的所有对象添加属性呢 我想改变
  • 有限字母字符串

    我有一个很长的字符串 字母表有限为 4 个 我可以以不同的方式存储该字符串 以便它占用更少的空间 因为它的字母表比普通字符串小 在我的代码中 我从不编辑这个字符串 只访问索引处的字符 如果对基因组比对算法有帮助的话 字母表是 ACTG No
  • 如何在 Mongoose 中执行查找查询?

    我在 mongodb 中有一组电子书数据 例如 id ObjectId 58b56fe19585b10cd42981d8 cover path D Ebooks uploads ebooks cover 1488285665748 img1
  • 如何使redis中的“HSET”子键“过期”?

    我需要使 Redis 哈希中所有超过 1 个月的密钥过期 这不可能 https github com antirez redis issues 167 issuecomment 2559040 为了保持 Redis 简单 https git
  • 如何在 IPython 中设置 markdown 链接的基本 url?

    我很高兴地设置 在我的 IPython html 笔记本 IPython 0 12 的 Markdown 单元中 以便能够将链接缩写为 wiki documentation doc html 在 Markdown 单元格中 但这使得保存笔记
  • Subversion 将未修改的文件标记为已修改

    这是我在使用 Subversion 时遇到的一个奇怪的问题 当从开发分支合并到主干 或返回 时 Subversion 会将许多文件标记为已更改 而它们没有任何更改 发生的情况如下 在我的分支中 我提交了 1 个修改过的文件 在主干中我合并了
  • 将输入值保存到本地存储并在不同页面上检索它

    我有一个包含 3 个不同页面的网页 page1 page2 和 page3 在第一页上 用户将在文本框中输入他的名字 我想将该值存储到本地存储中 以便在第 2 页和第 3 页上再次使用 我什至无法在第 1 页上检索它 难道我做错了什么 而且
  • 无界通配符类型在运行时如何工作?

    我知道无界通配符类型将被删除并替换为对象 vy 类型擦除 无界通配符类型是可具体化类型 其类型信息在运行时完全可用 我知道两者之间的区别List List List list new ArrayList
  • 在 Android 上将大位图文件的大小调整为缩放的输出文件

    我的文件中有一个大位图 例如 3888x2592 现在 我想将该位图大小调整为 800x533 并将其保存到另一个文件中 我通常会通过调用来缩放位图Bitmap createBitmap方法 但它需要一个源位图作为第一个参数 我无法提供它
  • 如何在 JavaScript 中暂停函数? [复制]

    这个问题在这里已经有答案了 我在 JavaScript 中有一个很长的函数 我将在某些时候暂停它 我知道我可以使用setTimeout myFunction 100 and clearTimeout 但是 据我所知 使用后setTimeou
  • 未捕获的类型错误:无法在“MutationObserver”上执行“观察”:参数 1 不是“节点”类型

    所以我下面的代码可以在 jsfiddle 中独立工作 但由于一些奇怪的原因 在将其推送到实时服务器后 我始终收到此错误 并且我不明白为什么 error mycodewitherror js 23 Uncaught TypeError Fai
  • PHP DateTime::修改加减月份

    我一直在与DateTime class http www php net manual en class datetime php最近在添加月份时遇到了我认为是一个错误 经过一番研究后 看来这不是一个错误 而是按预期工作 根据查到的文档he
  • 如何编写自己的CasperJS模块?

    例如 我有一个经常需要执行的步骤 例如在某些测试之前用户登录 如何为 CasperJS 编写可重用的代码块 他们的扩展 CasperJS 的文档只为一个文件编写 Thanks 这是一个简单的方法 如果不熟悉 CoffeeScript 请在
  • 如何链接到 App Store (iTunes) 中我的应用程序?

    我希望我的应用程序中有一项功能 用户可以使用我的应用程序的 iTunes URL 向朋友发送电子邮件 这怎么可能 Thanks 您可以创建更简单 更合乎逻辑的 App Store 链接 而不是通常看到的又长又混乱的 URL iTunes S