4
votes

Seemingly out of nowhere, my app's icon has been replaced by this image I've never seen before. This has only happened on iOS. When I view the AppIcon image in Xcode and the app's target image, it shows the correct icon.

Although I have third-party packages installed, they were already installed prior to this change happening. The app itself seems to still work fine.

Screenshot of issue

My best guess

This may have happened after I archived for the first time since rebuilding it. So maybe Xcode thinks I am trying to replicate the old app with the same package name without the correct certification (although I'm using the same App Store Team). My disk is also very full but can't see why that should cause this.

Similar issues (none)

I haven't been able to find any reference anywhere to something like this happening before - React Native or not. Even the image seems to have been very sparsely used before.

My temporary fix

I was able to temporarily fix this issue by just changing the name of the app in Xcode and then changing it back. However without archiving since, the issue has reappeared a day later.

Update

I've done more digging and found the icon is from a sample framework called Iconicus - which I assume was installed by default by React Native. Any ideas on how it's overriding my icon and whether I'm free to delete those sample frameworks please?

Finder screenshot

My Pod file:

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
1
Can you post your pods/carthage dependencies list? What icon is displayed for the app target in Xcode?pckill
Sure thing @pckill, I've added the info to the question. Thanks for your help.hardanger
Wait, do you recognize this image? Is it from an older version of your app? Did you try deleting derived data? If this did not help, try building the app, extracting the package and checking the app icon. Search your mac for the filename or maybe do an image search.pckill
I am pretty sure you shouldn't include any "Sample" code inside your app.Sulthan
It seems this is a sample from FacebookSDK but I don't see it in your pods. Are you including it by some other way? It seems the samples are included by mistake into your app.Sulthan

1 Answers

0
votes

Many thanks to @Sulthan for suggesting I delete FacebookSDK's sample apps, one of which had this icon. This looks to have fixed the issue (though still unsure how iOS randomly switched app icons).