Troubleshooting on device with Titanium for iPhone - iphone

On Xcode when you build on device you can troubleshoot the app within the console. How can i do that with Titanium? It's very difficult without troubleshooting

What you can do is use the Ti.API.info('whatever') method to log everything you need and will help in debugging then while you run your app on the device and it is connected to your computer, just open xcode -> go to organizer -> click on your device -> and select console. Every Ti.API.info() log you do in your app will show up in the console.

Titanium's SDK (http://www.appcelerator.com/platform/titanium-sdk) is Eclipse with the Aptana plug-in. You can do the same debugging you'd do in Eclipse: set break points, step through code, set watch points, ...
To run your app in debug mode, start by setting some break points in your app. To do that right-click on the line number that's on the far left of our line of code and select "Toggle Breakpoint". Next, towards the top of the Project Explorer panel are several icons. One of them is debug. Click on that debug's dropdown menu and select the iphone emulator or ipad emulator. The app will compile for debug and run the emulator you chose. From this point on, everything is like debugging on Eclipse.

Related

Flutter: Display log in release mode in iOS

I'm trying to display logs in release mode in iOS to test my in App Purchases...
I tried print() & log() but nothing works
Fun fact, it works in Android.
Do you know how to do that?
Thank you
I had the exact same problem! I was also testing in-app purchases on an iOS physical device and could not see the logs in Android Studio. I have tried the print() method, the flutter default logger, and also the logger package.
You have to switch to Xcode and do the following steps:
Open Xcode
In the menu bar, go to Product > Scheme > Edit Scheme...
Make sure Run is selected on the left sidebar
In Build Configuration, change from Debug to Release
Compile your app in Xcode by pressing the "Play"/Run button and it should work
Credits: https://stackoverflow.com/a/61975751/5734066

iOS simulator is not lisiting in visual studio 2019

enter image description here
iOS-simulator is not listed all the time. sometime its showing most of the time its not there. not doing any specific changes in my machine. Simply when i restart VS app. its missing.
tried unload & reload the ios project. still the same.
complete reinstall visual studio & xcode from scratch.
tried update xcode.
Nothing helped from above suggestions.
Would be really great help if someone could help me with this issue.
I've encountered the same problem several times and here are some of my suggestions:
Did you try switching to your Android project then switch back to iOS project? This should be the simplest way
In your iOS project options, create a build configuration specifically dedicated to iOS Simulators only. Make sure to set Linker behavior to Don't Link
Quit Xcode and Visual Studio first. Open Finder, press Command + Shift + G, paste the following path: Users/YourUserNameHere/Library/Developer/Devices/ You'll see a bunch of folders with encoded folder names and a file device_set.plist
Next delete all the folders in Devices directory, then open device_set.plist by double clicking it. This should open it in Xcode. You'll see a bunch of key-value pairs under DefaultDevices and DevicePairs, click on the arrow on the left side and delete of the devices listed there by hovering the mouse over a category and click the minus (-) button next to it.
Press Command + Shift + 2 to open Devices & Simulators Window (Alternatively you can choose on menu Window -> Devices and Simulators. Choose Simulators on the left sidebar. Delete all the simulators if there's still any of them showing up. Then create several simulators, ones that you really need for debugging your app. Quit Xcode, reboot the machine, open Visual Studio again.

XCode Locks Up When Launching the iOS Simulator

Lately when I have been deploying any iOS application to the simulator (iPad or iPhone), XCode locks up (Not Responding) and the simulator simply displays a black screen. I have to force quit both.
Steps I have taken so far towards a resolution:
Clean
Reset the Simulator
Deleted the simulator folder
Reinstalled XCode from the App Store
Reinstalled XCode from the developer center
Has anyone else encountered this? Any suggestions for a solution?
Other info:
OSX Lion 10.7.3
XCode 4.3.2
Shibboleet
Thanks in advance for any help.
I had this problem and was able to continue by:
1) Edit the run scheme by clicking on the first part of the App name to the right of the "Stop" button to bring down the scheme list and click "Edit Scheme..."
2) Click on the Run item and change the debugger from LLDB to GDB.
3) Run
I think the problem was that I validated the settings and it offered to automatically change the debugger from GDB and LLDB and I clicked "OK" because the advisor message sounded very self-assured.
Enjoy.
Under Scheme, go to edit scheme, and change launch from wait for App.app to launch to automatically under the Info tab.
EDIT: If you upgraded Xcode, make sure the old separate simulator is uninstalled.
hmmm, weird simulator, instruments issue i had once would work when i command-tabbed back and forth. try deleting derived data?

How to see NSLog() from console app when using instruments

I'm using instruments for allocations, but want to see my NSLog messages. In another post they mentioned to look inside /Applications/Utilities/Console for the messages. I can't seem to spot any of them. After you open the Console App, where would you look?
You can view the console of the device using Xcode Organizer.
In Xcode 6, the "Devices" tab was removed from the Organizer into it's own window. To view the console log, you now have to click the tiny little triangle in the lower left-hand area of the device information.
Alternative to Black Frogs answer, you can also use the integrated console from your mac directly without Xcode. All output is forwarded there. Just do a spotlight search (CMD + Space) and type in console.
If you want to use the Console Application, the Xcode log can be found under the FILES section in the Log List (If not visible:Menu -> View -> Show Log List). Look for
~/Library/Logs/iOS Simulator/6.1/system.log
This is actually just a reference to the file system. So you could to a
tail -f ~/Library/Logs/iOS Simulator/6.1/system.log
in the Terminal as well.
Update:
Another option in some newer versions of Xcode can be found in the Xcode 'Debug' menu. Look for the entry 'Open System Log...'.
As of Xcode 6.3.1, I couldn't find the log in any of the above locations when running the Allocations instrument. For me, in iOS Simulator (not Xcode), click Debug -> Open System Log... to get the NSLog messages normally appearing in Xcode.
In case you need it, this log is kept in Library/Logs/CoreSimulator/[device name]/system.log. To get [device name], go to Xcode, Window -> Devices and find the device that you are currently simulating. Look for the Identifier. Compare that against the folder names in Library/Logs/CoreSimulator and you should find a match.

How to change the default Xcode iphone simulator when testing

I don't know why but now the default iphone simulator launched when I build the project is "ipad", but I want it to use iphone 3g instead.
Any way to set this preference?
On Mac, if you right click on the Simulator icon, you can select devices and it will open a new device.
Or go to File -> Open Simulator
In Xcode,
Click Product -> Destination -> iOS Simulator -> Choose Device to run.
Then build and execute Xcode project.
It works..
2022 Fix:
You have two options!
With the simulator running go to File > Open Simulator > iOS [current version] and select the desired device.
With the simulator running, right click the icon in the bottom toolbar, select Device > iOS [current version] and select the desired device
If you are using Expo, after selecting the new device will open in a new window, so you'll have both. Heres how to get Expo to run on the new device:
Close the device window you don't want (cmd + w)
You will now be able to "Run on iOS Simulator" and it will open up Expo Go on the new device.
2020 Fix:
With the simulator running go to File > Open Device > iOS > iPhone 11 and select the device. It will open up the device as another window but there won't be the Expo app.
Close the device window you don't want (cmd + w), then close the window with the device you would like.
Restart Expo (in the command window with it running do ctrl + c then re-run Expo with expo start
You will now be able to "Run on iOS Simulator" and it will open up with the selected device type.
In the chance that anyone reading this is building their app in react-native, the solution is the --simulator option.
For example:
$ react-native run-ios --simulator "iPhone X"
Go to Hardware > Device from simulator menu.
For me works changing active SDK from 3.2 to 4.0. If your project is mentioned to work on iPad and iPhone (or for compatibility matters) I believe the only way is manually switching active executable before running your app on simulator.
Apple:"iPhone OS 3.2 does not support iPhone and iPod touch devices. It runs only on iPad.".
You can select the device from the menu inthe simulator.
Try
Project > Active Executable , and select the one you want the most.
This worked for me. When I already have the app open on an iphone in "Simulator". I click File -> Open Simulator -> iOS 14.0 -> iPhone 8 (or iPad (7th generation))
None of the above worked for me, but the following took care of the issue :
Source:
http://www.cocoabuilder.com/archive/xcode/301182-xcode-3-2-6-keeps-switching-to-ipad-simulator.html
Excerpt:
This works for Xcode 3.2.6. I don't yet use Xcode 4.x so don't know
if this will work for it or not. I would also quit Xcode before doing
this, just in case.
Go to the project folder and find the .xcodeproj file. Right-click
(or Control-click) it and select Show Package Contents. When the
package contents window appears, find the .pbxuser file (there might
be multiple such files if the project was worked on by multiple folks
and/or multiple computers). Open this file, which is XML, in your
preferred text editor. Find the section with the comment "/* Project
object */". There is most likely not a line in that section for the
key "activeSDKPreference". If there is no such key, add the
following:
activeSDKPreference = iphonesimulator4.2;
I found it after the "activeExecutable" key in that section, so I've
been adding it in that same order.
If there is already an "activeSDKPreference" entry, change it to
"iphonesimulator4.2".
Close the editor and the package contents window and then double click
the .xcodeproj file to reopen the project. Now you should have
entries for iPhone Simulator 4.2 and iPad Simulator 4.2 in the project
settings pull down menu, with iPhone Simulator 4.2 probably already
checked.
Additional Notes:
In my particular case, my entry in .pbxuser file had said
iphonesimulator4.3, even though under Project-Project Settings
menu
it said iphonesimulaor4.2!. However, once I changed it to
iphonesimulator4.2 in the .pbxuser file it stop auto selecting
iPad
all the time.
If you use SVN you will not see an "M" in SVN column showing that
you changed the project (even if you refresh/update). However,
just
do a "Commit Entire Project" and your changes to .pbxuser file
will
get updated. I also suggest referencing this post in your
check-in
comment in case you ever need to change it back for whatever
reason.
I finally solved this problem myself.
First, install new version of Xcode, which is Xcode 4.
Then set project scheme to iPhone Simulator and run app in Xcode several times.
And re-install Xcode 3 and the problem will be gone!
Yes, it's annoying. This worked for me:
Open the .plist file in group/folder resources and check the checkbox for key "Application requires iPhone environment".
If you are using Flutter, open the Runner.xcodeproj file in ios/ folder. Then right next to the Runner breadcrumb, you can click >and select what device to launch.
For Xcode Version 3.2.6 the following helps:
Project->Active Executable->iPhone Simulator 4.3
I don't know if it is working for newer Xcode environments.
Gary Tsui has also pointed out this approach previously.