Nowadays on old iOS the Passbook application is pretty useless. Modern passes won't work on it until modified, and new ones cannot be freely made due to Apple requiring you to have a developer account due to the passes being cryptographically signed and compressed. iOS won't accept any pass even slightly modified, due to the checksums, and certificate breaking due to the modification(s).
This is why SigPass was made. SigPass allows you to load invalid, expired or modified passes into the Passbook application without any rejection by iOS. It forces PassKit to ignore the cryptographic compression and signature of .pkpass files and patches out pass badstamping aswell as invalidation completely. Meaning your passes are valid for eternity, giving you greater liberty over what you can, and can't do.
SigPass has only been tested on iOS 6.x.x so far, and not on iOS 7 or 8, therfore I can't really say if it works or now.
Of course, in order to use custom passes, you need SigPass. SigPass can be downloaded on the GitHub page, and is, as of right now, not available on the Cydia repo due to not everyone having the expertise or need to create passes.
Whilst making your own .pkpass
file may seem complicated at first, it isn't as complicated as you think it is. You may also want to refer to Apple's original documentations for designing and creating Wallet pass entries at developer.apple.com.
On Apple's developer page there is a section with wallet companion files. A direct link for them is here. Apple offers sample passes of all varieties in their companion files. These samples are of correct cryptographic signature and compression and therefore are able to be sideloaded without SigPass installed.
If you wish to create your own, customized pass that way, go ahead and just modify them. Extract the pkpass
and edit the images aswell as the file called pass.json
, which is the thing you'll be working on for the most time. Disregard the files called signature
and manifest.json
, as SigPass makes PassKit disregard the cryptographic integrity of these files. Once you're done, simply compress your directory where your pass contents is located and change the type from something like .zip, or .7z to .pkpass
. Make sure that the files aren't in an extrataneous folder in the compressed archive, as iOS will not be able to read the pass if you do so. Make sure to follow Apple's way of creating passes then, please refer to the Apple documentation. I also recommend Figma for creating custom, maybe skeuomorphic artwork for your custom passes.
If you want to do it simpler, you could use online Passbook creators, such as PassSource or any other online .pkpass
creator. I recommend this YouTube video which creates a pass with PassLot to be watched.
You may wonder, how do you transfer your passes to your legacy iOS device? Simple, you can sent it to yourself via E-Mail, iMessage or a link via Safari. iOS will do the rest once you click on the pass. It'll open it's "Add Pass" flyout and then you're done. If your pass is invalid it will simply just do nothing. So if it does nothing, check that your JSON isn't malformed, or that your pkpass doesnt have any additional nesting folders inside of it, this is what 7zip does, please make sure that this doesn't happen.