我们如何向手表应用程序添加启动屏幕?

Posted

技术标签:

【中文标题】我们如何向手表应用程序添加启动屏幕?【英文标题】:How can we add a launch screen to a watch app? 【发布时间】:2021-09-09 06:12:55 【问题描述】:

我正在使用 SwiftUI 创建一个 watchOS 应用程序,我希望添加一个启动画面,但我不确定这是否可能。我已将以下内容添加到 Info.plist 文件中,但似乎没有显示启动画面。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>UILaunchScreen</key>
    <dict>
        <key>UIImageName</key>
        <string>Rupee</string>
    </dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>$(DEVELOPMENT_LANGUAGE)</string>
    <key>CFBundleDisplayName</key>
    <string>Sample</string>
    <key>CFBundleExecutable</key>
    <string>$(EXECUTABLE_NAME)</string>
    <key>CFBundleIdentifier</key>
    <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
    <key>CFBundleInfoDictionaryVersion</key>
    <string>6.0</string>
    <key>CFBundleName</key>
    <string>$(PRODUCT_NAME)</string>
    <key>CFBundlePackageType</key>
    <string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
    <key>CFBundleShortVersionString</key>
    <string>1.0</string>
    <key>CFBundleVersion</key>
    <string>1</string>
    <key>CLKComplicationPrincipalClass</key>
    <string>$(PRODUCT_MODULE_NAME).ComplicationController</string>
    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>google.com</key>
            <dict>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSIncludesSubdomains</key>
                <true/>
            </dict>
        </dict>
    </dict>
    <key>NSExtension</key>
    <dict>
        <key>NSExtensionAttributes</key>
        <dict>
            <key>WKAppBundleIdentifier</key>
            <string>Sample</string>
        </dict>
        <key>NSExtensionPointIdentifier</key>
        <string>Sample</string>
    </dict>
    <key>WKWatchOnly</key>
    <true/>
</dict>
</plist>

【问题讨论】:

这能回答你的问题吗? Could we set Launch screen in apple watch? 【参考方案1】:

很遗憾(截至 2021 年 9 月),WatchOS 尚不支持启动屏幕。我不知道你是否注意到了,但是当应用程序在手表上启动时,应用程序图标会显示在其周围有一个进度视图,这是应用程序的默认 WatchOS 启动屏幕并且无法更改。

欲了解更多信息:Could we set Launch screen in apple watch?

【讨论】:

哦,是的,我注意到了一次。所以这意味着它仍然没有解决。 :( 是的。为了帮助将来可能有这个问题的其他用户。如果它回答了您的问题,请您标记upvote并将其标记为答案。【参考方案2】:

对于虚假的启动屏幕,您可以执行以下操作:

@State var shouldShowLaunchImage = true

var body: some View 
    ContentView()
        .overlay(
            Image("launch-image")
                .opacity(shouldShowLaunchImage ? 1 : 0)
        )
        .onAppear 
            DispatchQueue.main.asyncAfter(deadline: .now() + 3) 
                self.shouldShowLaunchImage = false
            
        
    

【讨论】:

以上是关于我们如何向手表应用程序添加启动屏幕?的主要内容,如果未能解决你的问题,请参考以下文章

如何在后台从伴侣手表应用程序启动主 iOS 应用程序?

苹果手表Apple Watch表盘怎么添加文字图案

如何在手表操作系统中设计像朋友应用一样的手表应用屏幕?

我们如何从 MFC 应用程序向控制台屏幕写入一些语句?

如何在swift ui watch os中的同一屏幕中添加键盘和文本字段[关闭]

手表靠近嘴巴时如何启动应用程序