Sample App Crashes on iPhone 8

Hi,

I’m new to Corona and Corona Cards, but really like using them so far.  I’m trying to build and deploy one of the CoronaCards sample apps to an iPhone 8 running iOS 11.0 (15A5278f) using Xcode 9.0 (9A235) and Corona Simulator 2017.3135.  The app runs fine in the Xcode simulator, but as soon as it launches on the physical device, I get the crash in the screenshot below.  Any thoughts or advice would be appreciated.

Hi @mike942.  

You’ve made some very confusing statements above. It would be really helpful if you could clarify…

  1. The iPhone 8 just started pre-orders on Friday. Have you managed to get an iPhone 8 already?

  2. Corona’s simulator product and CoronaCards are totally different products. For the simulator, you write your code in Lua and when ready for device testing, you build and install it to your device. Since you’re on a Mac, we give you the option to install to your device directly from the simulator and see the console log of the device in our log window.

CoronaCards on the other hand is a way to add a Corona view to an existing Objective C/Swift based app. You have to use Xcode to build and deploy your app to your device. 

Can you clarify all of this? It will be helpful so we can help you.

Rob

Hi,

Apologies – typo in the iPhone model. The physical device I’m testing on is an iPhone 7, not 8.  I understand that Corona SDK and CoronaCards are two different products.  Let me walk through what I’m trying to do in more detail.

  1. I downloaded Corona SDK (built some sample apps, and successfully ran in the Corona Simulator and on physical Android and iOS devices)

  2. I downloaded Corona Cards and followed the setup/installation procedure in the documentation

  3. I downloaded the SimpleView example (https://github.com/CoronaCards/sample-ios-SimpleView)

  4. I opened the project in Xcode 9

  5. Switched “LLVM C++ standard library” to “libstdc++” (as mentioned in https://forums.coronalabs.com/topic/68644-ios-opening-ios-sample-apps/)

  6. Changed the bundle identifier and set the appropriate provisioning profile

  7. Set deployment target to 11.0

  8. copied the license file into the sample-ios-Simpleview-swift/Corona directory

  9. Built and ran the app in the Xcode simulator (iPhone 7 & 8 running iOS 11) – it worked perfectly

  10. Built and ran the app on a physical iPhone 7 running iOS 11.0 and got the crash displayed in the screenshot of Xcode in my original post.

I’m working on Corona-based game that needs to run on a view in an existing app and am hoping that I’ll be able to use CoronaCards to do so.

Step #5 should not be needed. That’s some old advice. We have made sure the templates are updated to use the right C++ library. This won’t solve your core issue, but it might be worth grabbing the latest templates.

Engineering is looking into the cause of your crash, but I don’t have an estimate on when they will get to it.

Rob

I find that if I don’t follow step 5, the project won’t build and has 53 linker errors as reported in the other post.  Thanks for having the team look into my issue.

I downloaded the templates and CoronaCards zip files three days ago.  I’ll check to see if there is a more recent version.

Mike

Why do you change deployment target to 11.0? This is highly unusual. This means that app wouldn’t run on iOS earlier than 11, not that you target iOS11 SDK. Please, leave it at 8.0, unless you have specific reasons not to support iOS8.

All one have to do, is to:

  1. Download sample

  2. put license.ccdata in Corona Folder

  3. Open project

  4. select team and bundle id

  5. press Play button in Xcode

Please, do not change from libc++ (libstdc++ is really old and was deprecated) or deployment target, unless you absolutely have to. Your Target SDK is set to Latest (which is 11, in case you open it with Xcode 9). You can double check it in build settings.

I think reason for your issues may be that really old framework is used. When you updating Corona Simulator, it doesn’t affect CoronaCards in any way. It seems there was a problem with script which was updating links to public build. You can try getting 2017.3118.

That’s a much newer version of CoronaCards – I’ll download and give it a shot. 

I’m actually using iOS 11 functionality in my app that isn’t available in any previous version of iOS, so will only be able to deploy to handsets that are running iOS 11 anyway.

I downloaded 2017.3118, unzipped it, and moved it to the /Users/Shared/CoronaLabs/ios.  I then downloaded a new instance of the sample app, followed the steps above, and am getting exactly the same crash.  The output in the console is:

dyld: Symbol not found: _SCNSceneExportPresentationTree

  Referenced from: /Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib

  Expected in: /System/Library/Frameworks/SceneKit.framework/SceneKit

in /Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib

Google says people was experiencing exactly same error on early beta of iOS11. It seems that 15A5278f is very first beta available. I don’t get such issues at all on Golden Master. You can update to latest iOS from device if you follow https://developer.apple.com/download/ and download profile for iOS11 GM Seed.

P.S. We also updated Corona Cards to lead to latest public release download page. https://developer.coronalabs.com/content/corona-cards-public-20173135

That did the trick.  Thanks for the help with troubleshooting.  It was a good reminder to make sure that when working on the bleeding edge, keep everything is as up to date as possible. :wink:

Hi @mike942.  

You’ve made some very confusing statements above. It would be really helpful if you could clarify…

  1. The iPhone 8 just started pre-orders on Friday. Have you managed to get an iPhone 8 already?

  2. Corona’s simulator product and CoronaCards are totally different products. For the simulator, you write your code in Lua and when ready for device testing, you build and install it to your device. Since you’re on a Mac, we give you the option to install to your device directly from the simulator and see the console log of the device in our log window.

CoronaCards on the other hand is a way to add a Corona view to an existing Objective C/Swift based app. You have to use Xcode to build and deploy your app to your device. 

Can you clarify all of this? It will be helpful so we can help you.

Rob

Hi,

Apologies – typo in the iPhone model. The physical device I’m testing on is an iPhone 7, not 8.  I understand that Corona SDK and CoronaCards are two different products.  Let me walk through what I’m trying to do in more detail.

  1. I downloaded Corona SDK (built some sample apps, and successfully ran in the Corona Simulator and on physical Android and iOS devices)

  2. I downloaded Corona Cards and followed the setup/installation procedure in the documentation

  3. I downloaded the SimpleView example (https://github.com/CoronaCards/sample-ios-SimpleView)

  4. I opened the project in Xcode 9

  5. Switched “LLVM C++ standard library” to “libstdc++” (as mentioned in https://forums.coronalabs.com/topic/68644-ios-opening-ios-sample-apps/)

  6. Changed the bundle identifier and set the appropriate provisioning profile

  7. Set deployment target to 11.0

  8. copied the license file into the sample-ios-Simpleview-swift/Corona directory

  9. Built and ran the app in the Xcode simulator (iPhone 7 & 8 running iOS 11) – it worked perfectly

  10. Built and ran the app on a physical iPhone 7 running iOS 11.0 and got the crash displayed in the screenshot of Xcode in my original post.

I’m working on Corona-based game that needs to run on a view in an existing app and am hoping that I’ll be able to use CoronaCards to do so.

Step #5 should not be needed. That’s some old advice. We have made sure the templates are updated to use the right C++ library. This won’t solve your core issue, but it might be worth grabbing the latest templates.

Engineering is looking into the cause of your crash, but I don’t have an estimate on when they will get to it.

Rob

I find that if I don’t follow step 5, the project won’t build and has 53 linker errors as reported in the other post.  Thanks for having the team look into my issue.

I downloaded the templates and CoronaCards zip files three days ago.  I’ll check to see if there is a more recent version.

Mike

Why do you change deployment target to 11.0? This is highly unusual. This means that app wouldn’t run on iOS earlier than 11, not that you target iOS11 SDK. Please, leave it at 8.0, unless you have specific reasons not to support iOS8.

All one have to do, is to:

  1. Download sample

  2. put license.ccdata in Corona Folder

  3. Open project

  4. select team and bundle id

  5. press Play button in Xcode

Please, do not change from libc++ (libstdc++ is really old and was deprecated) or deployment target, unless you absolutely have to. Your Target SDK is set to Latest (which is 11, in case you open it with Xcode 9). You can double check it in build settings.

I think reason for your issues may be that really old framework is used. When you updating Corona Simulator, it doesn’t affect CoronaCards in any way. It seems there was a problem with script which was updating links to public build. You can try getting 2017.3118.

That’s a much newer version of CoronaCards – I’ll download and give it a shot. 

I’m actually using iOS 11 functionality in my app that isn’t available in any previous version of iOS, so will only be able to deploy to handsets that are running iOS 11 anyway.

I downloaded 2017.3118, unzipped it, and moved it to the /Users/Shared/CoronaLabs/ios.  I then downloaded a new instance of the sample app, followed the steps above, and am getting exactly the same crash.  The output in the console is:

dyld: Symbol not found: _SCNSceneExportPresentationTree

  Referenced from: /Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib

  Expected in: /System/Library/Frameworks/SceneKit.framework/SceneKit

in /Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib

Google says people was experiencing exactly same error on early beta of iOS11. It seems that 15A5278f is very first beta available. I don’t get such issues at all on Golden Master. You can update to latest iOS from device if you follow https://developer.apple.com/download/ and download profile for iOS11 GM Seed.

P.S. We also updated Corona Cards to lead to latest public release download page. https://developer.coronalabs.com/content/corona-cards-public-20173135