菜鸟教程小白 发表于 2022-12-11 19:38:58

iOS备用图标没有改变


                                            <p><p>我遵循了一些关于在 iOS 中设置替代图标的教程,但我无法让它正常工作。我的 Info.plist 中的重要部分如下所示:</p>

<pre><code>&lt;key&gt;CFBundleIcons&lt;/key&gt;
&lt;dict&gt;
    &lt;key&gt;CFBundlePrimaryIcon&lt;/key&gt;
    &lt;dict&gt;
      &lt;key&gt;CFBundleIconFiles&lt;/key&gt;
      &lt;array&gt;
            &lt;string&gt;default&lt;/string&gt;
      &lt;/array&gt;
      &lt;key&gt;UIPrerenderedIcon&lt;/key&gt;
      &lt;false/&gt;
    &lt;/dict&gt;
    &lt;key&gt;CFBundleAlternateIcons&lt;/key&gt;
    &lt;dict&gt;
      &lt;key&gt;six&lt;/key&gt;
      &lt;dict&gt;
            &lt;key&gt;CFBundleIconFiles&lt;/key&gt;
            &lt;array&gt;
                &lt;string&gt;six&lt;/string&gt;
            &lt;/array&gt;
            &lt;key&gt;UIPrerenderedIcon&lt;/key&gt;
            &lt;false/&gt;
      &lt;/dict&gt;
      &lt;key&gt;crazy&lt;/key&gt;
      &lt;dict&gt;
            &lt;key&gt;CFBundleIconFiles&lt;/key&gt;
            &lt;array&gt;
                &lt;string&gt;crazy&lt;/string&gt;
            &lt;/array&gt;
            &lt;key&gt;UIPrerenderedIcon&lt;/key&gt;
            &lt;false/&gt;
      &lt;/dict&gt;
    &lt;/dict&gt;
&lt;/dict&gt;
</code></pre>

<p>还有 ViewController 的代码,很简单:</p>

<pre><code>class ViewController: UIViewController {

@IBOutlet weak var segment: UISegmentedControl!

override func viewDidLoad() {
    super.viewDidLoad()
    segment.addTarget(self, action: #selector(segmentChanged(_:)), for: .valueChanged)
    // Do any additional setup after loading the view, typically from a nib.
}

@objc func segmentChanged(_ sender: UISegmentedControl) {
    var icon: String?
    switch sender.selectedSegmentIndex {
    case 1:
      icon = &#34;six&#34;
    case 2:
      icon = &#34;crazy&#34;
    default:
      icon = nil
    }
    changeIcon(icon)
}

func changeIcon(_ icon: String?) {
    if UIApplication.shared.supportsAlternateIcons {
      UIApplication.shared.setAlternateIconName(icon, completionHandler: { (error) in
            print(&#34;\(error?.localizedDescription)&#34;)
      })
    }
}
}
</code></pre>

<p>当方法被调用时,我会提示说</p>

<blockquote>
<p>You have changed the icon for &#34;App&#34;.</p>
</blockquote>

<p>但是显示的图标是默认的
我的图标文件命名为:[email protected], [email protected], [email protected], [email protected], [email protected], [email protected]
为什么它没有改变?将图像文件放入项目中是否有任何特殊步骤?我已经把我的放在“res”文件夹中了</p>

<p>项目:
<a href="https://www.dropbox.com/s/nboslz2s6gagvwl/AltIcon.zip?dl=0" rel="noreferrer noopener nofollow">https://www.dropbox.com/s/nboslz2s6gagvwl/AltIcon.zip?dl=0</a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>原来是我用来缩小图像的软件有问题,它没有正确保存 PNG 文件。</p></p>
                                   
                                                <p style="font-size: 20px;">关于iOS备用图标没有改变,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/48381269/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/48381269/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: iOS备用图标没有改变