• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: WTF is happening?
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: WTF is happening?


  • Subject: Re: WTF is happening?
  • From: Britt Durbrow <email@hidden>
  • Date: Mon, 15 Dec 2014 18:30:14 -0800

> In this case you have found that the implementation of +[_NSObjectAnimator resolveInstanceMethod:] crashes.

IMHO, this is a nasty little bug… and a simple test case should be added to the frameworks to check that basic runtime functionality works on all classes - private or publicly declared. Even if nothing else is guaranteed, if a thing says it’s a class, then it really kinda’ should act like one.

> In general it is not safe to look up arbitrary classes and then send messages to them.

True. However, he called a C runtime function… it happens that that function invokes the forwarding mechanism, but it’s still a basic runtime C function, below the level of the NSObject abstractions… so it really *should* work...

> Checking for conformance (using the C function, not the NSObject method) to a protocol you defined and then only sending messages from that protocol is the safest way to go.

I would (and in my own code, do) combine that with the suggestions to interrogate the bundle being loaded for classes to be examined, as well as do registration of classes in +load… I also post some notifications of my own at various key points in my app startup cycle that various interested classes can hook to.

> On Dec 15, 2014, at 3:36 PM, Maxthon Chan <email@hidden> wrote:
>
> I ended up written my own runtime-level equivalent of +[NSObject isSubclassOfClass:] using only class_getSuperclass and object_getClass. This class scanning code, currently used for plugin scanning, will also be used in jailbreak detecting, defeating Cydia Substrate-based iAP crackers.

You need to be very careful of how you implement that so that a future OS update doesn’t break your app…


_______________________________________________

Cocoa-dev mailing list (email@hidden)

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:

This email sent to email@hidden


References: 
 >Re: WTF is happening? (From: Phillip Mills <email@hidden>)
 >Re: WTF is happening? (From: Kyle Sluder <email@hidden>)
 >Re: WTF is happening? (From: Wim Lewis <email@hidden>)

  • Prev by Date: Re: Using AV Foundation to record m3u8 stream to disk
  • Next by Date: Re: WTF is happening?
  • Previous by thread: Re: WTF is happening?
  • Next by thread: Re: WTF is happening?
  • Index(es):
    • Date
    • Thread