问题标签 [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.
ios - PKPayment 并不总是返回名称
创建我的时PKPaymentRequest
,我指定了一些必填字段,如下所示:
注意:我只需要账单电子邮件和姓名,但如果我没有指定PKAddressFieldEmail|PKAddressFieldName
onrequiredShippingAddressFields
以及 ApplePay UI 不会要求这个。
然后我尝试像这样提取名称。它是否到达送货地址或帐单地址并不总是很清楚,因此我会检查两者。
但有时这个名字并没有出现。它是断断续续的,有时它会出现,有时它不会在没有改变任何东西的情况下出现。这让我怀疑这是 iOS 8.4 中的错误,但我绝对不排除这是我的错。(通常是。)
有没有其他人遇到过这个?有解决方法吗?
ios - Apple Pay - 支付后端服务器 - iOS
我一直在阅读有关 Apple Pay 的 Apple 开发人员文档网站,并且一直在在线阅读有关如何将 Apple Pay 集成到您的 iOS 应用程序中的其他教程。
我访问过的所有网站都表明您需要一个可以处理付款的后端服务器/服务。有谁知道是否有办法解决这个问题。就我个人而言,我只是 Apple 来处理我的应用程序中的付款。为什么我也必须有一个后端?我认为 Apple Pay 的全部意义在于它负责支付......
我将在我的应用程序中向用户销售服务,而不是实体产品,所以我不需要处理运输或类似的事情。
当然,有一些委托方法可以告诉您付款是否成功。这对我来说似乎已经足够好了。我不能只使用它们吗?
问题是,如果你使用后端,你需要使用像 Stripe 这样的服务,然后通过费用收取每笔交易的 2.9%.... 只是大规模(甚至是小规模)诚实的)。
谢谢你的时间,丹。
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
ios - iOS 9 中的 PKContact 丢失街道
我正在使用PKPaymentAuthorizationViewControllerDelegate
iOS 9 中的这种新委托方法进行 Apple Pay 集成:
paymentAuthorizationViewController:didSelectShippingContact:completion
这提供了一个PKContact
参数,该参数具有CNPostalAddress
对象形式的送货地址。
无论提供什么地址(即使是模拟器中的演示地址),这条街总是空的。
例如:
<CNPostalAddress: 0x7fbf9aed8bd0: street=, city=Hillsborough, state=CA, postalCode=94010, country=, countryCode=us, formattedAddress=(null)>
这是iOS错误吗?有没有其他人遇到过这个问题?
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 问题,但它们都涉及某种日志输出。我没有得到任何日志输出!我能做些什么?你有什么建议吗??
非常感谢!
base64 - Passbook:从服务器获取base64字符串,转换并保存pkpass到iOS
我正在尝试将存折保存到 ios 钱包。由于安全问题,我需要使用 base64 数据而不是 uri。我为此假设的流程如下所示
- 从服务器获取 base64 字符串。
- 使用“initWithBase64EncodedString”将 base64 转换为 pkpass 数据
- 使用“PKAddPassesViewController”将 pkpass 保存到钱包
使用上面的代码,进度在第二步停止,出现 nil 错误,即使解码的 base64 字符串是正确的。所以我不能确定第二步之后的代码是否会正常运行。
感谢您提前回答。
ios - 是否可以从ios中的钱包应用程序访问其他用户通行证
我想从其钱包应用程序中使用其他 iPhone 用户的通行证。
示例:当用户1想使用用户2的卡时,用户1将通过我们的ap向用户2发送消息(用户1的消息:用户2请释放$x的付款)
用户 2 收到此消息,然后只需通过我们的应用程序访问护照。选择卡并将该卡通行证发送给用户 1 10 分钟,以通过他们的护照继续使用。
这可以访问吗?
ios - 为什么 PKPass 需要一个错误指针?
根据 Apple 的文档,在 Swift 中初始化 PKPass 需要两个元素,Pass 数据和错误指针。
根据 Apple 的Swift 文档,错误处理段落,
在 Cocoa 中,产生错误的方法将 NSError 指针参数作为它们的最后一个参数,如果发生错误,它会使用 NSError 对象填充其参数。根据 Swift 的原生错误处理功能,Swift 会自动将产生错误的 Objective-C 方法转换为抛出错误的方法。
不过有一个说明:
消耗错误的方法,例如委托方法或接受带有 NSError 对象参数的完成处理程序的方法,不会成为 Swift 导入时抛出的方法。
由于该方法似乎没有消耗,而是在需要时使用指针设置错误,这似乎与 Apple 对错误处理的解释背道而驰。我期待更多的代码如下:
我严重误解了什么,或者这种明显不匹配的原因可能是什么?
ios - 应用程序在应用商店中显示“支持钱包”,即使钱包功能已关闭
我们最近在应用商店推出了 iOS 应用。一些代码文件引用了 Passkit 框架。还添加了权利
密钥和各自的团队 ID。但在应用功能内部,我们禁用了钱包。但仍然在支持下的应用商店的应用描述中显示钱包。有没有人遇到过同样的问题?有没有人知道为什么显示它?是因为我们添加了权利还是因为引用了 Passkit。
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 中的一个,但没有更新另一个,这是一个问题。