PKPass を返すサーバーをセットアップしました。URL をブラウザーにコピーすると、パスが表示されます (Mac と iPhone の両方で)。パスをダウンロードするために使用しているコードは次のとおりです。
NSData *data = [[NSData alloc] initWithContentsOfURL:[NSURL URLWithString:kAPIPass]];
if (nil != data) {
PKPass *pass = [[PKPass alloc] initWithData:data error:nil];
PKAddPassesViewController *pkvc = [[PKAddPassesViewController alloc] initWithPass:pass];
pkvc.delegate = self;
[self presentViewController:pkvc
animated:YES
completion:^{
// Do any cleanup here
}
];
}
とにかく、このコードを実行すると、次のエラーが発生します。
*キャッチされない例外 'NSInternalInconsistencyException' が原因でアプリを終了します。理由: 'RGBA または白色空間のみをサポートします。このメソッドはハックです。'
何がバグなのかわかりません... Safariでダウンロードするとパスは問題ないように見え、コードも問題ないようです(単純な行が3つしかありません...) Passkitの経験者が助けてくれますか?
編集:奇妙なことは、まったく同じコードが新しいプロジェクトで機能していることです
編集 2: AppDelegate から次の行を削除し、クラッシュを削除します。これは奇妙です!
[[UINavigationBar appearance] setTintColor:[UIColor colorWithPatternImage:[UIImage imageNamed:@"navbar_bg_gen.png"]]];