xcode 如何将ExternalLinkAccount与Objective C一起用于阅读器应用程序?

20jt8wwn  于 2023-02-25  发布在  其他
关注(0)|答案(1)|浏览(123)

我正在设置我的iOS应用程序使用新的“阅读器应用程序”外部链接选项,这意味着我们可以让人们到我们的网站注册,而不是使用应用程序内购买。
我们的应用程序采用Objective C编写。
苹果的文档中说,你需要使用ExternalLinkAccount open()来生成一个模态窗口,警告用户他们正在离开你的应用程序。问题是,我不知道如何使用这个窗口,也找不到任何示例。
这是有关如何设置带有外部链接的阅读器应用程序的文档:https://developer.apple.com/support/reader-apps/
以下是ExternalLinkAccount的特定文档:https://developer.apple.com/documentation/storekit/externallinkaccount
我尝试在.m文件中包含StoreKit,但不知道如何使用ExternalLinkAccount。

wxclj1h5

wxclj1h51#

显然StoreKit 2接口是Swift专用的,所以你需要用Swift编写一个可以从Objective-C调用的 Package 器:

外部链接帐户快速 Package 器.swift:

import Foundation
import StoreKit

@available(iOS 16.0, *)
@objcMembers class ExternalLinkAccountSwiftWrapper: NSObject{
    static func canOpen() async -> Bool {
        return await ExternalLinkAccount.canOpen;
    }
    static func open() {
        Task.detached{
            do {
                try await ExternalLinkAccount.open();
            }
            catch{}
        }
    }
}

用@objcMembers标记类将使Xcode生成一个名为“(YourProjectName)-Swift.h”的头文件,该文件可以从现有的Objective-C代码中使用(参见Call Swift function from Objective-C class)。

相关问题