[TIMOB-18024] iOS: Referencing Titanium object from Xcode Instruments Native objects
GitHub Issue | n/a |
Type | Bug |
Priority | High |
Status | Closed |
Resolution | Not Our Bug |
Resolution Date | 2015-06-11T04:19:44.000+0000 |
Affected Version/s | n/a |
Fix Version/s | n/a |
Components | iOS |
Labels | ios, memory, xcode6 |
Reporter | Alan Leard |
Assignee | Eric Merriman |
Created | 2014-11-12T01:15:47.000+0000 |
Updated | 2017-03-24T18:58:34.000+0000 |
Description
I'd like to understand if its possible to identify a reference from a TiUIView or a TiUIViewProxy from Xcode instruments to Alloy. Is this currently possible? If not, what would it take to do this?
Attachments
It was possible. However either Xcode 6.2 and/or Titanium 3.5.0.GA + made this no longer work. Titanium Proxy objects aren't showing up in instruments anymore.
Any official comment on how to see Proxy objects in Xcode 6 Instruments? Just faced the same problem, was ok in Xcode 5 Instruments, but now I can't clearly see if app leaks or not. @Ingo Muschenetz, any comment?
This is a very high value bug. I am in the process of relaunching codexcasts today at the moment, but I will upload some screenshots on how to indirectly see proxies ( look dive into the objects that are retaining the most memory).
Bump [big style bump] Any love for this one [~ingo]? Causing me a real issue right now. At the very least the docs for instruments should be changed to "sorry closed for refurbishments" ;(
Personally, we're going to go native for iOS soon, I hope. I realized that Titanium is good for prototypes, but not when you need to "go serious". Those compatibility issues and regressions is out of our control. I know, they can say "it's open source, you can make a pull request", but for that you'll need to be into Titanium and how all things works.
**I figured this out ** I will be recording a free codex casts episode on how to do this. Here are the rough notes open your titanium app in xcode and profile it. open up the leaks instrument hit record go to All Heap Allocations filter by TiUI Success. see this pretty screen shot !https://www.codexlabs.com/assets/yes.png! I couldn't see how to attach an image to this thread, so I dumped it on my website.
It is not a perfect fix, but it is 90% the way there.
Thanks [~sophrinix], I researched this a little more based on your instructions, but it doesn't do anything for simulator. Whereas on device, it works, but we don't have to check All Heap Allocations. Default values will work. Because this is a known issue in Xcode 6 instruments. See below 2 links for references: http://stackoverflow.com/questions/29121260/instruments-allocations-not-showing-app-classes-objects http://stackoverflow.com/questions/29233424/xcode-6-allocation-instruments-dont-show-own-class-name To correctly reference titanium object in Xcode 6 instruments, please use a device for now. We will update the wiki page accordingly.
Look at that screenshot again. I am clearly using a Simulator. :-) I am teaching an Appcelerator Course this week, but I will release a free codexcasts screencast to demonstrate how to do this. I needed to figure this out for my students.
Hey [~sophrinix], ah sorry I misunderstood. I wasn't able to see your screenshot, it's a broken link from my end. But it's ok, looking forward to your screencast!
@Andrew McElroy, thanks for found that! Need to check... So, that's not Titanium's issue, ok then.
Do we know if Xcode 7 has corrected this issue?
as Promised. It's a free episode. https://codexcasts.com/episodes/titanium-and-xcode-instruments-6-3 @ingo I will look into if Xcode 7 is impacted. I suspect the issue will still be there.
Thanks for the video [~codexlabs], has updated https://wiki.appcelerator.org/display/guides2/Managing+Memory+and+Finding+Leaks accordingly.
I just tested on Xcode 7. Apple has fixed this for instruments on Xcode 7. I'll edit the wiki again. Also see attached screenshots for reference.
Closing ticket with reference to the previous comments.