Skip to content

Troubleshooting React Native iOS

Xcode Build error (1) Undefined symbols for architecture arm64:OBJC_CLASS$_AppSealingInterface

Section titled “Xcode Build error (1) Undefined symbols for architecture arm64: “OBJC_CLASS$_AppSealingInterface””

This link error can occur in two cases. The first is when you create a project in macOS 11.x environment and try to rebuild after updating macOS to 12.x, and the second is when the necessary files are not included in the project.

Section titled “How to fix link error caused by macOS update (0.66 only)”

If you have created a React Native 0.66 project in macOS 11.x environment, and updated macOS to 12.x / Xcode to 13.3 or higher, when you try to build the existing project, the above link error occurs.

In this case, the problem is solved by creating a new React Native 0.66 project in the new macOS environment and moving the code from the existing project to build.

This link error do not occur if you are using macOS 11.x as it is or if it is a React Native 0.64, 0.65 version project.

It will be improved to solve problems without transferring project code in the future.

Section titled “How to resolve link errors that occur because the file is not included”

This case occurs when the “AppsealingiOS.mm” is not included in your project. Check project tree whether the file has added or not.

If the “AppsealingiOS.mm” file is not included in your project, perform “File > Add Files to “RnMyApp” … ” menu action to include required files into your project.

Execution error (I) App terminated immediately after launch

Section titled “Execution error (I) App terminated immediately after launch”

If your app has terminated right after launching in device, you should check the execution log message whether your bundle ID is valid.

If the log message contains string like ” ==>> FAILED( Not registered bundle name )” then it tells the bundle Id you used is not registered properly at DoveRunner Mobile App Security Developer Center (ADC) while downloading DoveRunner Mobile App Security SDK file. Check your bundle Id if it is same as the value you entered when downloading SDK at ADC.

Execution error (II) App terminated suddenly while running

Section titled “Execution error (II) App terminated suddenly while running”

If your app has terminated suddenly while running about after 20 seconds from launching you should check the execution log message whether you have run your app with Release configuration.

If the log message contains string like “Message from debugger: Terminated due to signal 14” then it tells that you have built & run your app in Release configuration and so DoveRunner Mobile App Security detection logic has activated. DoveRunner Mobile App Security logic in Release configuration checks some security intrusion such as jailbreak, debugger attachment, execution file encryption flag and if there is some problem it will close the app after 20 seconds irrespectively of user action or other circumstances.

Only in Release configuration the DoveRunner Mobile App Security logic will be activated and will terminate your app, so you should run your app with Debug configuration until you distribute the app to AppStore or TestFlight because the built executable file doesn’t have encrypted with FairPlay DRM before it is installed from AppStore to device. DoveRunner Mobile App Security logic will detect that executable file has decrypted abnormally and it will terminate the app after 20 seconds while running your app in device at Xcode.

Cannot execute “generate_hash” : Permission denied

Section titled “Cannot execute “generate_hash” : Permission denied”

It may happens that script execution in step 3-5 “Generate App integrity and certificate snapshot” fails by “Permission denied” error message like below.

In this situation run add permission command like below and try again.

Terminal window
$ chmod +x /MyRnApp/ios/AppSealingSDK_ReactNative/generate_hash

Using DoveRunner Mobile App Security SDK in Continuous Integration Tools

Section titled “Using DoveRunner Mobile App Security SDK in Continuous Integration Tools”

DoveRunner Mobile App Security SDK can be integrated naturally into CI (continues integration) tools such as “Buddy” or “Jenkins” etc. Once the DoveRunner Mobile App Security SDK has applied to your Xcode project, you can archive and export the project with command line shell script as usual.