Jens,

Thank you for confirming my suspicions. I know that Bundle won’t help. What I 
was hoping for was a Swift runtime call that returned the current module name. 
Since (at least by convention), there is a correspondence between module names 
and framework names, I was hoping to derive a bundle name from that 
correspondence. But unfortunately, I can’t find a runtime call that helps, 
either.

I’ve thought about other strategies, but since I actually want to put
extensionString {
func locate() -> String {}
}
in one framework and reference it in other frameworks, this looks to be 
impossibly tricky. (I haven’t tried it, but I expect that if I tried, for 
example, to parse out the module name from inside the locate() function, I’d 
get the name of the module it is located in, not the module of the call-site.) 
Sigh.

 I guess I should file a suggestion radar about it.

Cheers,

Rick Aurbach

On Dec 1, 2016, at 6:36 PM, Jens Alfke 
<j...@mooseyard.com<mailto:j...@mooseyard.com>> wrote:

Introspecting the call stack is possible, if somewhat ugly, using the backtrace 
and backtrace_symbols functions (on macOS/iOS.) But all you get is a list of PC 
and stack addresses, or function names. I don’t know how you’d go from those to 
an NSBundle object. On cursory inspection I didn’t see any NSBundle methods for 
finding out where in memory the associated code is loaded.

—Jens

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to