App crashing on launch with instrumentation w/ calabash-ios - ibm-mobilefirst

UPDATE: This was fixed by resetting the phone's settings. General -> Reset -> "Reset all settings".
We are having on issue on iPhones 6 and 6+ when launching our IBM MobileFirst-based app.
When calabash instrumentation is linked and I manually launch the app, the splash screen will come up and the app will quit almost instantly.
Double tapping home shows me the app running in the background, but Xcode does not recognize it as a running process. After force-closing the app and re-launching, it will usually do the same thing, but sometimes it comes up.
I've noticed our automation is sometimes stuck in an infinite loop of launching and crashing. This only happens on the instrumented app.
The crash log throws EXC_BAD_ACCESS. I found a thread on the google group from a few years back that talks about linker flags, but I don't have any of the weaker flags mentioned there.
Steps to reproduce:
*App must be instrumented with the calabash automation framework (calabash-ios setup must have been executed in same directory as xcodeproj file.)
Build application and deploy native iOS project to XCode via eclipse.
Build the -cal target with the "Run" configuration.
Kill the debugger/application.
Manually launch the app on the device. The app will successfully launch maybe 15%-20% of the time, otherwise it will just quit.
Using calabash-cucumber version 0.14.3.
Linker flags:
$(inherited)
-force_load
"$(SRCROOT)/calabash.framework/calabash"
-lstdc++
It appears $(inherited) contains -ObjC for Debug.
Xcode installed at: /Applications/Xcode.app/Contents/Developer
Xcode version: 6.1.1
Xcode build: 6A2008a

The user is unresponsive, the fix was:
Actually I just found the fix to this. What I had to do is reset the
phone's settings in Settings -> General -> Reset -> "Reset All
Settings" (the first option). Have not seen the behavior since.

I had exact same problem, tried so many different ways and finally found how to fix it - I changed project directory, pulled from Git, then bundle install, pod install and build the app with calabash target as usual
Xcode 7.3.1, calabash-cucumber (0.19.1)

Related

“launchPackager.command” can’t be opened

Just updated my Mac to the official release of Ventura, and I cannot launch my application via react-native run-ios.
Expected behavior:
running react-native run-ios will launch an Xcode simulator and a terminal window with Metro running.
Current behavior:
Xcode simulator opens, main terminal says app was built successfully, but an error is thrown instead of the metro terminal opening:
“launchPackager.command” can’t be opened because (null) is not allowed to open documents in Terminal.
The simulator just shows a white screen and can't be interacted with.
What I've tried:
manually opening node_modules/react-native/scripts/launchPackager.command
opens Metro terminal but is not connected to the app
warn No apps connected. Sending "reload" to all React Native apps failed. Make sure your app is running in the simulator or on a phone connected via USB.
info Reloading app...
giving Terminal full disk access (no change)
This happened to me after upgrading to macOS Ventura. I happen to use iTerm as my main terminal, not the built-in Terminal.app so the following fix only applies to that scenario:
Set iTerm as the Default Handler for *.command Files
Open node_modules/react-native/scripts/ in Finder (open node_modules/react-native/scripts/)
Right-Click on launchPackager.command and click Open With then choose Other...
In your Applications directory, select iTerm and click Always Open With
After this, you might need to run npm run ios again from this terminal window. However, from now on, Metro will open in a new iTerm tab instead of trying to open the command in a new Terminal window.
For me, this was the desired behaviour and it removed this warning.
Note In future, any *.command files will now open with iTerm instead of Terminal.
I encountered the same problem as you, I installed another terminal (iTerm2), then randomly found a .command file, and in the display introduction, changed the default opening method to iTerm2enter image description here
I'm having this issue after upgrading my MacOS to Ventura 13.1.
If you don't want to use iTerm as the accepted answer suggest, the workaround I found was to look for the launchPackager.command file inside node-modules/react-native/scripts/ and open this file manually every time you run your app for the first time (specifically when the error pop-up appears). This will open the terminal with metro running already.
I know that manually processes are not the best, but I don't want to use iTerm :)
Using Intel version of apps (Webstorm, Android Studio, other IDE etc...) fixed my problems. I encountered the same issue and thanks to Intel version of Webstorm and Xcode on Rosetta I can able to pod install and other operations.
Note: I'm using Intel version of Android Studio, WebStorm. Also Xcode uses Rosetta 2. No problem detected and everything works perfect. I can able to develop React-Native & Native Android & iOS and Flutter apps without problem. Before that I was using Silicon version of WebStorm and almost no function worked.
Config: MacBook Air, macOS Ventura 13.2 on Apple M1 processor.
For Most of the case you just have to delete node_modules and install modules again (npm i). This happens when project was copied from old mac which had node_modules folder created by the old user, or if the system thinks so
This happened to me after i configured my terminal for the look and feel - but with iterm2, oh my zsh, and powerlevel10k

React native takes very long to load on device

I've been developing a react-native app using the simulator for a while. On the simulator (iOS), the app loads very fast (on reload for eg). However, when I tried to load the app to the device, it spends between 1-3 minutes in the splash screen before loading into the app.
My project is fairly small, and has no extra resources other than the javascript. Looking at the documentation I couldn't find what might be the cause of the issue, though I suspect it has to do with the fact that it is not getting the JS from the packager local server.
What am I doing wrong?
(btw - react-native v0.31)
I ran into the same issue and discovered that it was because I was running my app on device in development mode. To get the performance you're looking for, you'll need to build and run the app in production or "release" mode. You can do this by passing in a --configuration option and setting it to Release using the React Native CLI:
$ react-native run-ios --configuration Release
If that doesn't do the trick, then you may need to build your app in "Release" mode from Xcode. To do that, navigate to your projects /ios directory and open the .xcodeproj file in Xcode. Choose your build target in the Toolbar. Scroll to the bottom and choose "Edit Scheme...". Then under Build Configuration, switch from "Debug" to "Release". Now build your app on your target device and it should be much more performant than before.
You can read more in the official React Native documentation under Running on Device: Building your app for production.
For me the issue was related to the wifi network of my development machine. I was using WPA2 Enterprise auth to connect to wifi on my development machine. I found that if I used a wired connection to connect to my network or if I used another wifi connection that used a different form of auth then the delay went away. I think the delay is a network timeout.

iOS Simulator Doesn't Install Application

Using Xcode 5.1 to debug an iOS 7.1 iPad application.
When I build and run my project in the iOS Simulator, the simulator opens and my app icon pops up for a second. Then it looks like the app stops installing and the simulator goes to the home screen. Xcode still thinks it's debugging and it doesn't show any errors in Xcode or the simulator. I can go to my app in the simulator and click it again, but it just crashes. I get the same behavior in iPad, iPad Retina, and iPad Retina (64 bit). Any subsequent tries to run the app in the simulator doesn't even attempt to pop the app icon up until I quit the iOS Simulator and try again. All the usual fixes haven't worked for me yet.
Fixes I've Tried:
1. iOS Simulator > Reset Content and Settings...
2. Window(in Xcode) > Organizer > Delete Derived Data & Delete Snapshots
3. Delete Contents in ~/Library/Application Support/iPhone Simulator
4. Uninstall Xcode and reinstall
5. Clean project and rebuild
6. Restart machine
I'm out of ideas. Is there something I've missed?
Thanks all!
Create another app with the exact same template and look at the app delegates and make sure they are the same.
Example: AppDelegate.h and AppDelegate.m
You might've accidentally deleted an area that helps load the App.
Alright I found the problem. I was playing with how we load our frameworks because we were having other issues before and I left a bad value in our Linking settings.
Here's how I fixed it:
Project > Build Settings > Linking > Mach-O Type set to "Executable"
It was set to "Bundles" before which causes Xcode to package the app in a way that caused ours to break.
Helpful Post: In Xcode project target build settings, What is Mach-O Type?

Cannot Install into iPhone Simulator

I've got an Xcode project that I've been working on over the past few weeks.
I just made some changes to an embedded framework that I'm working on (recompiled, to be specific) now, however, I am unable to launch the application in the simulator.
The app hangs on "Attaching to [app name]," if I have a debugger on. If I don't have a debugger on, Xcode just says the app has finished running.
There is no icon installed on the device.
Here's what I've done so far:
Restarted
Reset simulator
Clean and build
Deleted derrived data
I cannot install onto a device either, but then I get an error:
Error launching remote program: No such file or directory (/Users/peter/Library/Developer/Xcode/DerivedData/x-gtwuuwmavjonyrcxjmpcletdpyjw/Build/Products/Debug-iphoneos/x.app/x).
Oddly enough, what worked was installing another app in the sim (just launched another project and ran it) and then launching the other app in the sim.
I'm not sure what the issue was, but I tried it on two computers and it was hanging on each, so it was related to the project rather than the simulator. There's an issue to think about...

Debugging iOS app built from commandline

I am building an app for iOS via commandline but I am having problems debugging it. Had I built using XCode, it would have let me "build and debug" on device without problems. But now, I don't know how to launch it on device using gdb and step through it. If I try to "add a custom target/executable" to a blank XCode project and then launch it, XCode complains about not finding the executable. Same thing happens if I install the app on device manually and try to attach to it using gdb within XCode. Any pointers on how to go about debugging this app? Changing the build process to use XCode is not an option.
This site gives a nice tutorial on how to manually set up a remote debugging session on an iOS device. The process boils down to creating a remote debugging server on the device and attaching to it with a local GDB instance.