Core Image face detection broken on 64 bit iOS?
Asked Answered
A

4

19

So, I have an app that uses the face detection feature of Core Image ( https://itunes.apple.com/us/app/ace-freakyface-cartoon-mask/id454513332?mt=8 ) and I just got the new iPhone 5s and the app no longer detects a face. I'm also receiving an error in the console while debugging:

/System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat: mach-o, but wrong architecture 2013-09-25 20:17:22.861 faceMaker[474:a16b] Face detection finding face error: Error Domain=FCRFaceDetectorErrorDomain Code=2 "dlopen(/System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat, 2): no suitable image found. Did find:

I've update my iPhone 4s(non-64 bit) with iOS 7 and the app works as it should. I think I need to update the valid architectures but when I do that I break the AdMob library. there may be a way around this but not that I'm aware of. Anyway I'm going to keep trying stuff but was wondering if anyone else had similar problems. I also downloaded what looked to be other apps in the app store using the face detector api and the same result, i.e. no joy on 64 bit.

Thanks,

Nick

Alf answered 26/9, 2013 at 3:44 Comment(13)
Have you filed a bug with Apple?Septate
@Septate no I have not.Alf
@Septate check that I just filed one, Is there a way to post a link to it?Alf
I think there is but I'm not sure. Usually people post a link to a radar...it would be openradar.appspot.com/####### <--- the number from the radar link in your bug report.Septate
Same problem here... Did you manage to find a solution?Lorenzoloresz
I filed this bug with Apple as well rdar://15201069. Hopefully this gets fixed before 7.1Tweeny
To any other developer with this same issue: please do submit a bug report on link. You can use the same description that @JackWu filed on Open Radar. But we all need to submit it to Apple directly to get it noticed.Lorenzoloresz
I'm also having this problem. But creating a 64 bit app requires a minimum iOS 7 version to run it. (see here: developer.apple.com/library/ios/documentation/General/…) It's a catch-22.Sthilaire
This is a serious bug. Just filed a bug report to Apple.Astern
I changed my face detection implementation from CIDetector to a direct OpenCV implementation quite easily, and it works just as well. Grab the framework here: opencv.org/downloads.html. And read the docs. There is sample code using Haar classifiers to detect face and features.Sthilaire
Quick update here, Apple has closed my bug report as a duplicate. So I guess they are fully aware of this issue just no fix yet :(Tweeny
Another update - this issue is also on the iPad Air, as one might guess. Apple has replied to me and said that they will fix this with the next iOS update!Tweeny
Still no updates on this matter?Enharmonic
D
9

I also had this issue with our face morphing app. I wrote a stand alone testing program, that only does face recognition software. If I compiled it as a 64 bit app and ran it on the iPhone 5S with iOS 7, it worked. If I compiled it as a 32 bit app ran it on the iPhone 5S with iOS 7, it failed. I received similar log. It appears when in 32 bit mode, a private library named FaceCore is not available. A 64 bit version of the library is available. We need to have more people complain to Apple about this, since it sounds like a OS bug!

Detrude answered 29/9, 2013 at 1:28 Comment(0)
T
5

A solution just appeared in the latest xCode update. You can now build for arm64 and target 6.0 and above (compared to 7.0 and above on previous releases). If you do that, the problem is fixed.

On other notes, Apple has responded to my bug report and said that they will be fixing this issue in the next iOS update. Fingers crossed!

Tweeny answered 11/11, 2013 at 21:10 Comment(1)
Cool, good info. yeah I'm hoping the next dot update just makes everything work.Alf
T
1

I wish I could thumbs up the last post. I have libraries that are not updated for 64 bit and going into build setting and showing all gives the option to turn off the 64 bit build.

Triboluminescent answered 20/10, 2013 at 21:27 Comment(0)
D
0

For me, I changed architectures in build setting to "including 64 bit, arm 64" and it work fine. But somehow my google admob is not working as it is not 64 bit calculation.

Dobbin answered 4/10, 2013 at 13:10 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.