创建一个没有 Storyboard 的独立 iMessage 应用程序

问题描述 投票:0回答:1

我希望创建一个独立的 iMessage 应用程序而不使用故事板。主屏幕上不会出现应用程序图标。

首先我创建一个简单的

ViewController

@objc (MessagesViewController)
class MessagesViewController: MSMessagesAppViewController {
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
        let child = UIHostingController(rootView: SwiftUIView())
        child.view.translatesAutoresizingMaskIntoConstraints = false
        self.view.addSubview(child.view)
        
        NSLayoutConstraint.activate([
            child.view.topAnchor.constraint(equalTo: view.topAnchor, constant: 0.0),
            child.view.leadingAnchor.constraint(equalTo: view.leadingAnchor, constant: 0.0),
            child.view.bottomAnchor.constraint(equalTo: view.bottomAnchor, constant: 0.0),
            child.view.trailingAnchor.constraint(equalTo: view.trailingAnchor, constant: 0.0)
        ])
    }
}

然后是一个简单的

View

struct SwiftUIView: View {
    var body: some View {
        Text("Hello, Earth!")
    }
}

我的

Info.plist
引用了视图控制器类:

<key>NSExtension</key>
<dict>
    <key>NSExtensionPointIdentifier</key>
    <string>com.apple.message-payload-provider</string>
    <key>NSExtensionPrincipalClass</key>
    <string>$(PRODUCT_MODULE_NAME).MessagesViewController</string>
</dict>

这是我的项目导航器:

应用程序在模拟器(或设备)上构建并启动,但消息中没有显示任何应用程序。我可能做错了什么?

ios swiftui imessage imessage-extension
1个回答
0
投票

看来我的问题可能是最新版本 Xcode (15.x) 中

iMessage App
模板中的错误。请参阅@noahbkim 的这篇文章

© www.soinside.com 2019 - 2024. All rights reserved.