使用 .Net 为 Apple 存折创建可下载的通行证 (*.pkpass)
Posted
技术标签:
【中文标题】使用 .Net 为 Apple 存折创建可下载的通行证 (*.pkpass)【英文标题】:Create downloadable passes (*.pkpass) for Apple passbook with .Net 【发布时间】:2017-11-17 09:33:22 【问题描述】:我需要在 .Net 中开发一个网站,该网站可以创建可作为存折文件 (*.pkpass) 下载的活动门票。我试过用。 Nuget 中提供了 Dotnet-passbook 库。但任何创建的通行证都不会在 iPhone 中打开。有没有人遇到过这个问题?对完成这项任务还有其他建议吗?
【问题讨论】:
如果可以编译通行证,则更有可能是证书或其他配置或内容问题(例如缺少图标文件),不太可能是库。 感谢您的评论。是的,它被编译并创建了 pkpass 文件。但不能在 iphone 内部工作。如果图像等丢失,是否可以不打开? “不工作”不足以诊断。当您尝试添加通行证时,iPhone 日志会显示什么?他们应该告诉你失败的原因。 :无效数据错误读取pass pass.com.cas.passbook/1212t。提供的 passTypeIdentifier 或 teamIdentifier 可能与您的证书不匹配,或者无法验证证书信任链。 :Failed to add pass:'Error Domain=PKPassKitErrorDomain Code=1 "Pass cannot be read because it is not valid."UserInfo=NSLocalizedDescription=Pass cannot be read because it is not valid., NSUnderlyingError Error Domain =PKPassKitErrorDomain Code=1 "提供的 passTypeIdentifier 或 teamIdentifier 可能与您的证书不匹配,或者无法验证证书信任链 检查您使用的是最新的 Apple WWDR 证书。与库捆绑的那个可能已于 2016 年 2 月过期。 【参考方案1】:我也使用 C# 创建 .pkpass,您可以参考我过去的问题 这样 generate pkpass question.
我觉得最大的问题,应该是pass.json文件格式不正确。测试 .pkpass 文件的简单方法必须是使用 xcode 并创建一个 ios 模拟器,将 .pkpass 文件放入模拟器。 xcode 日志会显示您的文件不工作的原因,希望对您有所帮助。
【讨论】:
【参考方案2】:解决了。它在使用“request.CertThumbprint”而不是引用证书的位置后起作用。谢谢。所以错误是验证通过的认证。
【讨论】:
【参考方案3】:你需要 xcode 框架或苹果构建包,这里是信息。
https://blogs.msdn.microsoft.com/vcblog/2017/04/18/android-and-ios-development-with-c-in-visual-studio/
在这里你可以下载,视觉工作室已满。 https://www.visualstudio.com/en/downloads/
【讨论】:
感谢您的评论。我有 VS 完整的。这是网络开发而不是移动开发。我需要在线创建通行证。例如:github.com/tomasmcguinness/dotnet-passbook 哦,好吧,那你是说Web App? 我认为,您不能在 Web 应用程序上注入框架 .net,因为要做到这一点,您需要使用此集成制作一个预览应用程序,然后构建一个用于制作新应用程序的功能内容混合,ios和.net。也许你需要其他答案!,祝你好运 webapp 需要一个混合内容应用程序构建器,用于执行此操作:) 看,books.google.com/…以上是关于使用 .Net 为 Apple 存折创建可下载的通行证 (*.pkpass)的主要内容,如果未能解决你的问题,请参考以下文章