Repository navigation
Fix blank card brand logos on Xcode 27 (SPM Assets.xcassets processing) - #117
Merged
Merged
Conversation
Add SceneDelegate to the UIKit example so it follows the scene-based lifecycle Apple recommends for iOS 27. Move URL open handling for the 3-D Secure redirect from AppDelegate to SceneDelegate.openURLContexts, declare the scene manifest in both Info.plist variants (SPM and Carthage), and align example-swift-carthage's deployment target with example-swift at iOS 15.0. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Switch the SPM resource declaration for Assets.xcassets from .copy to .process so actool runs and Assets.car is emitted into the bundle. Under Xcode 27 the previous .copy declaration no longer produced a compiled asset catalog, causing CardBrand.logoImage and other UIImage(named:in: .module) lookups to return nil and rendering the CardFormViewController brand logos blank (payjp#116). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Switch the bottom submitButton visibility toggle from keyboard show/hide notifications to UITextField begin/end editing notifications. The accessorySubmitButton is attached as the text fields' inputAccessoryView, so its visibility is bound to first responder state — not keyboard frame changes. On the iOS 27 simulator with a hardware keyboard connected, the software keyboard does not appear (so keyboardWillShow does not fire), but the inputAccessoryView still shows, causing both buttons to be visible at once. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
laiso
approved these changes
Aug 14, 2026
laiso
left a comment
Contributor
There was a problem hiding this comment.
Package.swift のアセット処理(.copy → .process)を確認しました。
• Xcode 26 安定版でビルドできること
• Swift サンプルアプリでブランドロゴが表示されること
• 同アプリからカード登録まで完了できること
を確認し、問題はありませんでした。
koutaku921
approved these changes
Aug 14, 2026
koutaku921
left a comment
Contributor
There was a problem hiding this comment.
有識者レビューが完了したので、マージのためのapproveを実施します。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
Xcode 27 でビルドすると
CardFormViewControllerの受け付けカードブランドロゴ(Visa / MasterCard など)が空白表示になる不具合を修正報告
UICollectionViewが空になっていました。原因
Assets.xcassetsが自動的にはコンパイル対象にならなくなったことで、パッケージ内の画像アセットが実行時に見つからなくなっていた点にあります。Package.swiftのresourcesに.processとして明示的に登録することで対応しました。対応内容
Assets.xcassetsを SwiftPM の Resource Processing 経由でコンパイル ([Bug] Card brand logos are completely blank when building with Xcode 27 #116 本対応)Package.swiftのresourcesにAssets.xcassetsを.processとして追加し、Xcode 27 でも SPM経由でアセットカタログがコンパイル・同梱されるようにした
example-swiftを UIScene ベースのライフサイクルへ移行SceneDelegate.swiftを追加し、Info.plistにUIApplicationSceneManifestを定義AppDelegateからウィンドウ生成処理を撤去し、3-D Secure のリダイレクト URL ハンドリングをSceneDelegate側に移譲CardFormViewControllerの Submit ボタン二重表示を修正submitButtonとinputAccessoryView上のaccessorySubmitButtonが同時に表示される事象が発生keyboardWillShowNotificationが発火せず、下部ボタンが隠れないままinputAccessoryViewだけが表示されていたsubmitButton.isHiddenの切り替えトリガをkeyboardWillShow/HideからUITextField.textDidBeginEditing/EndEditingNotificationに変更。inputAccessoryViewの表示条件(first responder状態)と一致するイベントに紐付け、キーボード表示有無に依存せず排他制御されるようにした関連 Issues
動作検証
example-swiftを起動し、CardFormViewController(labelStyled / tableStyled /displayStyled)を開いてブランドロゴが正しく表示されることを確認
inputAccessoryViewのボタンのみが表示されること、フォーカスを外すと下部ボタンが再表示されることを確認