问题标签 [passkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
305 浏览

ios - PKPayment 并不总是返回名称

创建我的时PKPaymentRequest,我指定了一些必填字段,如下所示:

注意:我只需要账单电子邮件和姓名,但如果我没有指定PKAddressFieldEmail|PKAddressFieldNameonrequiredShippingAddressFields以及 ApplePay UI 不会要求这个。

然后我尝试像这样提取名称。它是否到达送货地址或帐单地址并不总是很清楚,因此我会检查两者。

但有时这个名字并没有出现。它是断断续续的,有时它会出现,有时它不会在没有改变任何东西的情况下出现。这让我怀疑这是 iOS 8.4 中的错误,但我绝对不排除这是我的错。(通常是。)

有没有其他人遇到过这个?有解决方法吗?

0 投票
1 回答
1745 浏览

ios - Apple Pay - 支付后端服务器 - iOS

我一直在阅读有关 Apple Pay 的 Apple 开发人员文档网站,并且一直在在线阅读有关如何将 Apple Pay 集成到您的 iOS 应用程序中的其他教程。

我访问过的所有网站都表明您需要一个可以处理付款的后端服务器/服务。有谁知道是否有办法解决这个问题。就我个人而言,我只是 Apple 来处理我的应用程序中的付款。为什么我也必须有一个后端?我认为 Apple Pay 的全部意义在于它负责支付......

我将在我的应用程序中向用户销售服务,而不是实体产品,所以我不需要处理运输或类似的事情。

当然,有一些委托方法可以告诉您付款是否成功。这对我来说似乎已经足够好了。我不能只使用它们吗?

问题是,如果你使用后端,你需要使用像 Stripe 这样的服务,然后通过费用收取每笔交易的 2.9%.... 只是大规模(甚至是小规模)诚实的)。

谢谢你的时间,丹。

0 投票
0 回答
411 浏览

ios - dataTaskWithRequest 完成处理程序上的随机错误?

我正在开发一个支持存折的快速应用程序,但我遇到了一个奇怪的问题。随机地,我从我的服务器下载的存折已损坏(相同的下载可能是好的或损坏的)。

这是代码:

错误如下:2015-08-22 16:18:28.328 Application[10302:1018965] BOM 无法提取存档:无法读取 PKZip 签名

而其他时候它工作......它真的是在随机的时间工作或失败......

编辑:Sometis 我也有以下错误:2015-08-23 01:19:19.483 Benight[3467:994898] Invalid data error reading pass pass.com.apple.demo/8j23fm3. 提供的 passTypeIdentifier 或 teamIdentifier 可能与您的证书不匹配,或者无法验证证书信任链。致命错误:在展开可选值时意外发现 nil

0 投票
1 回答
488 浏览

ios - iOS 9 中的 PKContact 丢失街道

我正在使用PKPaymentAuthorizationViewControllerDelegateiOS 9 中的这种新委托方法进行 Apple Pay 集成:

paymentAuthorizationViewController:didSelectShippingContact:completion

这提供了一个PKContact参数,该参数具有CNPostalAddress对象形式的送货地址。

无论提供什么地址(即使是模拟器中的演示地址),这条街总是空的。

例如:

<CNPostalAddress: 0x7fbf9aed8bd0: street=, city=Hillsborough, state=CA, postalCode=94010, country=, countryCode=us, formattedAddress=(null)>

这是iOS错误吗?有没有其他人遇到过这个问题?

0 投票
2 回答
1429 浏览

ios - Passbook 文件在 Safari OSX 上打开,但不是 Safari iOS

我正在尝试将 Passbooks 添加到我的应用程序中。我整天都在摆弄它,但仍然没有运气!

适用于 OSX 浏览器

当我在本地(OSX)工作时,我在 Chrome 和 Safari 中下载存折,它们打开得很好:

图片

在 iOS 浏览器上静默失败

但是,如果我使用 iOS 模拟器 + Mobile Safari,我会看到一条错误消息并且没有日志消息

图片

如果我使用 iPad(iOS 8 和 9),我会得到相同的行为:错误消息 + 日志中没有任何内容。

一件疯狂的事情:我们确实在运行 iOS 9 的 iPhone 上成功打开了一个,但仅此而已之前在 iOS 8 上使用 iPhone 的尝试没有成功。

适用于 iMessage => iOS

我的同事从这个问题下载了文件,通过 iMessage 将其发送到他的设备并成功安装。到底是什么东西!!

示例文件

这是一个示例.pkpass文件:http ://rmosolgo.github.io/assets/rm_example.pkpass

我试过的

内容类型标头

我已经确定我使用了正确的内容类型。这是 Rails 代码:

它似乎出现在 GET 请求中:

图片

有效的 JSON

我尝试解压缩.pkpass并检查pass.json. 一切都好!

现在怎么办??

我已经看到很多关于此的 SO 问题,但它们都涉及某种日志输出。我没有得到任何日志输出!我能做些什么?你有什么建议吗??

非常感谢!

0 投票
1 回答
1486 浏览

base64 - Passbook:从服务器获取base64字符串,转换并保存pkpass到iOS

我正在尝试将存折保存到 ios 钱包。由于安全问题,我需要使用 base64 数据而不是 uri。我为此假设的流程如下所示

  1. 从服务器获取 base64 字符串。
  2. 使用“initWithBase64EncodedString”将 base64 转换为 pkpass 数据
  3. 使用“PKAddPassesViewController”将 pkpass 保存到钱包

使用上面的代码,进度在第二步停止,出现 nil 错误,即使解码的 base64 字符串是正确的。所以我不能确定第二步之后的代码是否会正常运行。

感谢您提前回答。

0 投票
1 回答
620 浏览

ios - 是否可以从ios中的钱包应用程序访问其他用户通行证

我想从其钱包应用程序中使用其他 iPhone 用户的通行证。

示例:当用户1想使用用户2的卡时,用户1将通过我们的ap向用户2发送消息(用户1的消息:用户2请释放$x的付款)

用户 2 收到此消息,然后只需通过我们的应用程序访问护照。选择卡并将该卡通行证发送给用户 1 10 分钟,以通过他们的护照继续使用。

这可以访问吗?

0 投票
0 回答
539 浏览

ios - 为什么 PKPass 需要一个错误指针?

根据 Apple 的文档,在 Swift 中初始化 PKPass 需要两个元素,Pass 数据和错误指针。

根据 Apple 的Swift 文档错误处理段落,

在 Cocoa 中,产生错误的方法将 NSError 指针参数作为它们的最后一个参数,如果发生错误,它会使用 NSError 对象填充其参数。根据 Swift 的原生错误处理功能,Swift 会自动将产生错误的 Objective-C 方法转换为抛出错误的方法。

不过有一个说明:

消耗错误的方法,例如委托方法或接受带有 NSError 对象参数的完成处理程序的方法,不会成为 Swift 导入时抛出的方法。

由于该方法似乎没有消耗,而是在需要时使用指针设置错误,这似乎与 Apple 对错误处理的解释背道而驰。我期待更多的代码如下:

我严重误解了什么,或者这种明显不匹配的原因可能是什么?

0 投票
1 回答
613 浏览

ios - 应用程序在应用商店中显示“支持钱包”,即使钱包功能已关闭

我们最近在应用商店推出了 iOS 应用。一些代码文件引用了 Passkit 框架。还添加了权利

密钥和各自的团队 ID。但在应用功能内部,我们禁用了钱包。但仍然在支持下的应用商店的应用描述中显示钱包。有没有人遇到过同样的问题?有没有人知道为什么显示它?是因为我们添加了权利还是因为引用了 Passkit。

0 投票
0 回答
160 浏览

ios9 - 如何让http(未加密)访问通行证进行开发?

Apple 的 WWDC 2012 视频演示了 Passbook 通行证如何与服务器通信;条件是通信仅限于 https (SSL)。该视频演示了开发人员如何使用“开发人员”菜单启用非 SSL 通信,并在 PassKit 子菜单下选择“允许 http 服务”。

这不再是一种选择。

我们现在如何在 iOS 9 和 XCode 7 中实现相同的目标?

-- 2015 年 12 月 13 日更新 --

我可以在 iOS 模拟器上访问“开发者 -> 设置 -> 允许 HTTP 服务”。这就是我们所拥有的,还是我们也可以在物理设备上拥有“开发者”菜单?也许这就是我的困惑。感谢您的澄清!

-- 2015 年 12 月 16 日更新 --

问题已解决!这是我对将来遇到此问题的任何人的建议。在 developer.apple.com 上,转到“证书、标识符和配置文件”,然后在 iOS 下选择“设备”。您应该会看到已批准设备的列表。您将在“Provision Profiles”下看到“Developer”。

现在:

1 - 请务必选择您想要延续到续订会员资格的设备。当您续订开发者帐户时,您可能会在您的在线开发者资料中收到有关此问题的警告。

2 - 确保手机专门用于开发。您可以使用 Apple 在线开发人员帐户进行此操作。

3 - 在您的手机和工作站之间,确保 Xcode 和 iOS 是匹配的版本对。如果您更新了 iOS 或 Xcode 中的一个,但没有更新另一个,这是一个问题。