问题
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
回答1:
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!
回答2:
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!
回答3:
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.
回答4:
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.
来源:https://stackoverflow.com/questions/19018962/core-image-face-detection-broken-on-64-bit-ios