我想从pkpass文件中的JSON获取特定信息。我遇到的问题是如何实现从钱包到我的应用程序的共享功能,以及通常如何注册我的应用程序以使用PKPass。
例如,在图像中,我想要将我的应用程序放在“邮件和消息”旁边。
我尝试像这样将com.apple.pkpass添加为DocumentType:
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>PKPass</string>
<key>CFBundleTypeRole</key>
<string>Editor</string>
<key>LSHandlerRank</key>
<string>Owner</string>
<key>LSItemContentTypes</key>
<array>
<string>com.apple.pkpass</string>
</array>
</dict>
之后,我了解到也许我必须将其添加为导入的UTI,然后添加此导入的UTI:
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
<string>public.composite-content</string>
<string>com.apple.package</string>
</array>
<key>UTTypeDescription</key>
<string>PKPass</string>
<key>UTTypeIconFiles</key>
<array/>
<key>UTTypeIdentifier</key>
<string>com.apple.pkpass</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<array>
<string>pkpass</string>
</array>
</dict>
</dict>
而且,我仍然无法分享到我的应用。 也许我的问题是:这可能吗?如果是怎么做的呢?
我们将不胜感激任何帮助。
答案 0 :(得分:0)
最后,我用App Extension做到了,将这些行添加到扩展的plist文件中。
<key>NSExtension</key>
<dict>
<key>NSExtensionAttributes</key>
<dict>
<key>NSExtensionActivationRule</key>
<string>SUBQUERY (
extensionItems,
$extensionItem,
SUBQUERY (
$extensionItem.attachments,
$attachment,
(
ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.apple.pkpass"
|| ANY $attachment.registeredTypeIdentifiers UTI-CONFORMS-TO "com.apple.pkpass-data"
)
).@count == 1
).@count == 1</string>
</dict>
<key>NSExtensionMainStoryboard</key>
<string>MainInterface</string>
<key>NSExtensionPointIdentifier</key>
<string>com.apple.share-services</string>
</dict>
在那之后,我只是用一个库解压缩pkpass文件并读取JSON文件。
我希望这对其他人有用。