Hm - the source file is .mm , though containing just C++ code. But that's an interesting line of thought.
On Feb 6, 2015, at 2:36 PM, David Duncan wrote: > On Feb 6, 2015, at 2:26 PM, Jeff Evans <[email protected]> wrote: > > If I could add one more tedious detail: I found some third party sample timer > code that is the same as mine so far as dispatch_source_create is concerned, > but the source is created from within an objective-c class. Now, > dispatch_source_create is of course a C method. But could it be that it needs > to be called from inside an objective-C class when compiling for ios >= 6? > Can't figure why that would be necessary, but who am I to say - I'm using it > inside a C++ object. There is a macro that determines if these types appear as Obj-C objects or not, it should be mentioned in the dispatch_release() documentation or a related link. I suppose its possible that there is a crossed stream here – where because you are compiling from C++ (presumably not .mm) the macro ends up mis-defined. > > Thanks, Jeff > > Right - it does compile fine, but crashes if built for 6.0 or greater. Works > with no problem if compiled for 5.1. But that gives customers the impression > the app is compatible with 5.1, which it is not. > > The app is using ARC, so I never release. The crash comes at > dispatch_source_create(). > > The Docs for dispatch_source_create say that the first argument is of type > dispatch_source_type_t and must be one of the listed constants, such as the > one I'm using, DISPATCH_SOURCE_TYPE_TIMER. > > The docs say that arguments 2 and 3 in dispatch_source_create are unused if > the type is DISPATCH_SOURCE_TYPE_TIMER, so they should be null, and are. > > That leaves the third argument, the queue, which appears to be correctly > created using dispatch_queue_create(threadname,DISPATCH_QUEUE_SERIAL). > > Again, the whole thing works great if compiled for 5.1. This code seems to > be in full accordance with the available docs, and there is no sample code > listed in the docs, so I'm stumped. > > Thanks, Jeff > > > On Feb 6, 2015, at 11:10 AM, David Duncan wrote: > > > > I think the only real change is that under ARC you shouldn’t use > dispatch_release(), but this is generic to dispatch objects everywhere. But I > was also under the impression that in that configuration your application > wouldn’t compile, but that could have been an incorrect impression. See the > dispatch_release() docs for more information. > >> On Feb 6, 2015, at 11:00 AM, Jeff Evans <[email protected]> wrote: >> >> David and others -- >> >> Is there any sample code somewhere that would should how to use >> create_dispatch_queue in apps built for ios 6 and greater? >> >> I've been fooling around with this but cannot find anything that works >> except for this, which is for ios 5.1 and earlier: >> >> m_dispatch_source = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, >> 0, 0, m_dispatch_queue); >> >> Judging from David's remark below about dispatch types becoming Obj-C >> objects at ios 6.0, it is probably the first argument that is causing this >> to crash if the app is built for ios >= 6.0. But in all the sample code I >> find, there is no mention of using anything other than >> DISPATCH_SOURCE_TYPE_TIMER as the first argument. >> >> Thanks, Jeff >> >> >> >> On Feb 3, 2015, at 10:57 AM, Jeff Evans wrote: >> >> Sorry, I should have supplied that - it crashes inside create_dispatch_queue >> at -[OS_dispatch_source_xref_dispose] with "Thread 1: EXC_ARM_BREAKPOINT, >> subcode=0xdefe" >> >> >> On Feb 3, 2015, at 10:48 AM, David Duncan wrote: >> >> >> >> >>> On Feb 3, 2015, at 10:34 AM, Jeff Evans <[email protected]> wrote: >>> >>> All, >>> >>> I've been using an ios deployment target setting of 5.1, much against >>> my will, because dispatch_source_create reliably crashes if I set the >>> deployment target to 6.0 or higher. This gives people the impression that >>> the app is compatible with ios 5.1, which it is not. >> >> How is your app crashing? >> >> IIRC, 6.0 was when dispatch types became Obj-C objects. I’m not certain what >> issues that may cause, but I don’t expect them to be insurmountable. >> >>> >>> The data type of the return value is dispatch_source_t. Someone has >>> mentioned that create_dispatch_source returns an OS_dispatch_source instead >>> of dispatch_source_t if deploying to ios >= 6.0. But OS_dispatch_source >>> doesn't seem to be defined and I don't see how it can be used by >>> dispatch_source_create. >>> >>> I've seen another mention of someone encountering this problem, but no >>> one has responded to either. Are so few people using dispatch_source_create >>> with deployments > ios 5.1? I have a feeling I'm making some dumb mistake >>> here. >>> >>> Thanks, Jeff >>> >>> >>> _______________________________________________ >>> Do not post admin requests to the list. They will be ignored. >>> Xcode-users mailing list ([email protected]) >>> Help/Unsubscribe/Update your Subscription: >>> https://lists.apple.com/mailman/options/xcode-users/david.duncan%40apple.com >>> >>> This email sent to [email protected] >> >> -- >> David Duncan >> >> >> >> > > -- > David Duncan > > > > > -- > If this email is spam, report it to > https://support.onlymyemail.com/view/report_spam/MTAxOTYyOjE3Mzc3Nzc1ODg6amV2YW5zQGFycy1ub3ZhLmNvbTpkZWxpdmVyZWQ > > -- David Duncan If this email is spam, report it to www.OnlyMyEmail.com
_______________________________________________ Do not post admin requests to the list. They will be ignored. Xcode-users mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/xcode-users/archive%40mail-archive.com This email sent to [email protected]
