突然间,我的应用程序图标被替换为一个我从未见过的图片。这只在iOS上发生过。当我在Xcode中查看AppIcon图像和应用程序的目标图像时,它显示了正确的图标。
虽然我安装了第三方包,但它们在此更改之前已经安装好了。应用程序本身似乎仍然可以正常工作。
我的最佳猜测
这可能是在重新构建后首次归档后发生的。因此,也许Xcode认为我正在尝试复制旧的具有相同软件包名称但没有正确证书的应用程序(尽管我使用的是相同的App Store团队)。我的磁盘也非常满,但我不知道为什么会导致这个问题。
类似的问题(无)
我一直没能找到任何参考资料表明这种情况曾经发生过 - 无论是React Native还是其他。甚至似乎很少使用该图像。
我的临时解决方法
我能够通过在Xcode中更改应用程序名称,然后再将其更改回来,临时解决此问题。但是在没有进行归档的情况下,该问题一天后又出现了。
更新
我进行了更多的挖掘,并发现图标来自一个名为Iconicus的示例框架 - 我认为它是由React Native默认安装的。您有任何关于它如何覆盖我的图标以及是否可以自由删除这些示例框架的想法吗?
我的Pod文件:
pod 'React', path: '../node_modules/react-native/', :subspecs => [
'Core',
'RCTActionSheet',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
'DevSupport',
]
pod 'yoga', path: '../node_modules/react-native/ReactCommon/yoga'
pod 'rn-fetch-blob',
:path => '../node_modules/rn-fetch-blob'
pod 'Firebase/Core', '~> 5.15.0'
pod 'Firebase/Auth', '~> 5.15.0'
pod 'Firebase/Firestore', '~> 5.15.0'
pod 'Firebase/Storage', '~> 5.15.0'
pod 'Fabric', '~> 1.7.13'
pod 'Crashlytics', '~> 3.10.7'
pod 'NearbyMessages'
pod 'RNTouchThroughView', :path => '../node_modules/react-native-touch-through-view'
pod 'RNSVG', :path => '../node_modules/react-native-svg'
post_install do |installer|
installer.pods_project.targets.each do |target|
# The following is needed to ensure the "archive" step works in XCode. It removes React & Yoga from the Pods project, as it is already included in the main project.
targets_to_ignore = %w(React yoga)
if targets_to_ignore.include? target.name
target.remove_from_project
end
end