Ios 未加载生成过程

Ios 未加载生成过程,ios,ruby-on-rails,passbook,Ios,Ruby On Rails,Passbook,我正在创建一个React应用程序,生成IOS通行证,并通过电子邮件或短信将其发送给用户。我正在使用gem生成通行证。但是,当我尝试从IOS或模拟器打开它们时,钱包会打开,但通行证不会打开 我已经检查了安装指导人员,没有发现我遗漏的任何东西 # config/intitalize/passbook.rb Passbook.configure do |passbook| passbook.p12_password = '12345' passbook.p12_key = Rails.root

我正在创建一个React应用程序,生成IOS通行证,并通过电子邮件或短信将其发送给用户。我正在使用gem生成通行证。但是,当我尝试从IOS或模拟器打开它们时,钱包会打开,但通行证不会打开

我已经检查了安装指导人员,没有发现我遗漏的任何东西

# config/intitalize/passbook.rb
Passbook.configure do |passbook|
  passbook.p12_password = '12345'
  passbook.p12_key = Rails.root.join('certificates/passkey.pem')
  passbook.p12_certificate = Rails.root.join('certificates/passcertificate.pem')
  passbook.wwdc_cert = Rails.root.join('certificates/WWDR.pem')
end

# passes_controller.rb
class PassesController < ApplicationController
  def generate
    user_card = UserCard.find_by_hash_id params[:user_card_id]
    pass = user_card.generate_pass
    send_file pass.path, type: 'application/vnd.apple.pkpass', disposition: 'attachment', filename: "pass.pkpass" 
  end
end

# models/user_card.rb
...
  def generate_pass
    data = {
      formatVersion: 1,
      passTypeIdentifier: "pass.com.example.stampcard",
      serialNumber: "TIC1000000518",
      teamIdentifier: ENV['APPLE_TEAM_ID'],
      organizationName: self.card.organization.name,
      description: self.card.desc,
      barcode: {
        message: self.hash_id,
        format: "PKBarcodeFormatPDF417",
        messageEncoding: "iso-8859-1",
        altText: self.hash_id
      }
    }
    pass = Passbook::PKPass.new data.to_json.to_s
    pass.addFiles ['logo.png', 'logo@2x.png', 'icon.png', 'icon@2x.png']
    pass.file
  end
...
manifest.json

{"pass.json":"1292e22d5bea9edc79f37115fa680f7c4452a4ec","logo.png":"50a2b2fa88be143902527556d0cde943ce887028","logo@2x.png":"50a2b2fa88be143902527556d0cde943ce887028","icon.png":"50a2b2fa88be143902527556d0cde943ce887028","icon@2x.png":"50a2b2fa88be143902527556d0cde943ce887028"}

好的,我让它工作了。我知道这不是最令人满意的答案,但我能够通过重新生成证书来解决这个问题。除此之外,我意识到序列号是错误的,因为我没有使用散列值。好的,我让它工作了。我知道这不是最令人满意的答案,但我能够通过重新生成证书来解决这个问题。除此之外,我意识到序列号是错误的,因为我没有使用散列值

您使用的是与上面完全相同的代码,还是用您自己的证书和团队名称信息替换占位符?是,上面的代码正在动态地获取证书和团队信息。您可以发布一个指向.pkpass捆绑包的链接吗?不清楚你所说的“钱包打开了,但通行证没有”是什么意思。捆绑包可能很好,但react代码可能是错误的,也可能是捆绑包有问题。我所说的“钱包打开,但通行证没有”是指当我将pkpass拖到IOS模拟器中时,钱包应用程序打开,但通行证从未显示。看起来没问题-当你尝试添加到钱包时,你在控制台中看到了什么错误日志?如果控制台没有告诉您出了什么问题,或者它说无法验证信任链,那么指向.pkpass捆绑包的链接将非常有用。您使用的是与上面完全相同的代码,还是用您自己的证书和团队名称信息替换占位符?是的,上面的代码正在动态地获取证书和团队信息。您可以发布一个指向.pkpass捆绑包的链接吗?不清楚你所说的“钱包打开了,但通行证没有”是什么意思。捆绑包可能很好,但react代码可能是错误的,也可能是捆绑包有问题。我所说的“钱包打开,但通行证没有”是指当我将pkpass拖到IOS模拟器中时,钱包应用程序打开,但通行证从未显示。看起来没问题-当你尝试添加到钱包时,你在控制台中看到了什么错误日志?如果控制台没有告诉您出了什么问题,或者它说无法验证信任链,那么指向.pkpass捆绑包的链接将非常有用。
{"pass.json":"1292e22d5bea9edc79f37115fa680f7c4452a4ec","logo.png":"50a2b2fa88be143902527556d0cde943ce887028","logo@2x.png":"50a2b2fa88be143902527556d0cde943ce887028","icon.png":"50a2b2fa88be143902527556d0cde943ce887028","icon@2x.png":"50a2b2fa88be143902527556d0cde943ce887028"}