Tag: 64位

为设备和模拟器创build32位和64位静态库 – Xcode

我有这个支持64位的SDK。 无论出于何种原因,图书馆不build立在iOS模拟器上。 为了避免这种情况,我创build了自己的静态库来实例化头文件并实现一切。 此方法一直工作,并允许我在模拟器和设备上构build和运行项目(标准库用于设备,我的静态库用于模拟器)。 现在我们有了64位和32位设备和模拟器,我的静态库不能为32位模拟器构build。 但是,它确实适用于所有设备(32位和64位)和64位模拟器。 有谁知道如何创build一个适用于32位和64位设备和模拟器的静态库?

iOS 7.1 CommonCrypto库抱怨:隐式转换失去整数精度:'NSUInteger'(无符号长整型)为CC_LONG(unsigned int)

我得到了上面的错误(在标题),而从文件做一个MD5 ..我通常可以应付这种types的32-> 64位转换问题..但在这种情况下,我不知道我该怎么做,因为CC_MD5是CommonCrypto->CommonDigest ,一个iOS7.1附带的库。 我假设[inputData length]是返回NSUInteger,其中存在的问题,但是我可以简单地从UL下拉到UI? 如果文件很大,我可能会失去精度。 为什么苹果提供的图书馆需要使用64位的语言,如iOS? 有人忽略了一些事情,或者我真的很愚蠢,错误地诊断问题? – (NSString*) getMD5FromFile:(NSString *)pathToFile { unsigned char outputData[CC_MD5_DIGEST_LENGTH]; NSData *inputData = [[NSData alloc] initWithContentsOfFile:pathToFile]; CC_MD5([inputData bytes], [inputData length], outputData); [inputData release]; NSMutableString *hash = [[NSMutableString alloc] init]; for (NSUInteger i = 0; i < CC_MD5_DIGEST_LENGTH; i++) { [hash appendFormat:@"%02x", outputData[i]]; } return [hash autorelease]; } 从CommonCrypto-> […]

核心数据,NSNumber,整数32和整数64

在核心数据中,我有许多属性声明为整数64,然后通过NSNumber属性(这是默认情况下)访问。 如果我通过以下方式存储和访问这些值,是否重要? NSNumber *mySetValue = [NSNumber numberWithInt:someIntValue]; [myObject setMyNumberProperty:mySetValue]; int myRetrievedValue = [myObject.myNumberProperty intValue]; 或通过 NSNumber *mySetValue = [NSNumber numberWithInteger:someIntegerValue]; [myObject setMyNumberProperty:mySetValue]; NSInteger myRetrievedValue = [myObject.myNumberProperty integerValue]; ? 有两种情况我想知道答案:1)如果所需的价值是用于计算(它拥有一个数量或价值将被转换为货币),2)如果该值只是一种types基本上只会与自己比较,不会用于任何计算。 在一种情况下使用numberWithInt和intValue而不是两种情况下,还是在两种情况下都必须使用numberWithInteger和integerValue? 另外,如果我以前已经将所有的值存储为[NSNumber numberWithInt:] – 我可以简单地改变我现在存储/检索值的方式,还是我需要保持一致性,以免造成问题当前用户数据? 我特别感兴趣的是在32位和64位的iOS应用程序中工作。 另外 – 如果核心数据值是整数32,整数16,整数64等,它是否有所不同?

当我更新架构到arm64时,Restkit失败

当我将我的项目架构更新到64位时,会出现这些问题。 我的部署目标是7.1。 架构x86_64的未定义符号:“OBJC_CLASS $ RKClient”,引用自:AppDelegate.objc-class-ref SSRSuggestion.o中的objc-class-ref“_OBJC_CLASS $ RKObjectManager”,引用来自:CinemaDetails中的objc-class-ref- 3BD8C6BC69EF1F23.o在AppDelegate.o中的objc-class-ref在HomeScreen.o中的objc-class-ref在MovieDetails.o中的objc-class-ref在CinemaFilter-46E8309ACAC69139.o中的objc-class-ref在FilterView.o中的objc-class-ref “_OBJC_CLASS $ RKObjectMapping”,引用自:Cinema.o中的objc-class-ref Movie.o中的objc-class-ref Filter.o中的objc-class-ref AppInfoModel.o中的objc-class-ref“_OBJC_CLASS $ RKParserRegistry” ,引用自:SSRSuggestion.o中的objc-class-ref“_OBJC_CLASS $ RKRequestQueue”,引用来自:MovieDetails中AppDelegate.o objc-class-ref中的objc-class-ref CinemaDetails-3BD8C6BC69EF1F23.o中的objc-class-ref。 o“_OBJC_CLASS $ _RKRequestSerialization”,引用自:SSRSuggestion.o中的objc-class-ref“_RKMIMETypeJSON”,引用自: – SSRS中的SSRSuggestion send_btn_pressed: uggestion.o ld:找不到x86_64体系结构的符号clang:error:linker命令失败,退出代码1(使用-v查看调用)

核心图像人脸检测破64位iOS?

所以,我有一个应用程序,使用核心图像的面部检测function( https://itunes.apple.com/us/app/ace-freakyface-cartoon-mask/id454513332?mt=8 ),我刚刚得到新的iPhone 5s和应用程序不再检测到一张脸。 我也在debugging时在控制台中收到一个错误: /System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat:mach-o,但错误的体系结构2013-09-25 20:17:22.861 faceMaker [474:a16b]人脸检测发现脸部错误:错误域= FCRFaceDetectorErrorDomain Code = 2“dlopen(/System/Library/PrivateFrameworks/FaceCore.framework/fcl-fc-3.dat,2):没有find合适的图像find了: 我已经用iOS 7更新了我的iPhone 4(非64位),并且应用程序可以正常工作。 我认为我需要更新有效的体系结构,但是当我这样做时,我会中断AdMob库。 可能有解决方法,但不是我所知道的。 无论如何,我会继续尝试的东西,但想知道是否有其他人有类似的问题。 我也下载了什么看起来是应用程序商店中的其他应用程序使用面部检测器API和相同的结果,即没有64位的喜悦。 谢谢, 缺口

如何知道你构build的iOS应用程序是否为64位。

我正在尝试构build一个64位的iOS应用程序。 我怎么知道它是build立在32位或64位的天气? Mach-O-View可以帮助吗? 如果是的话,在哪里找? 也有它的任何命令行。 ? 我反应了这一点,但它并没有帮助我知道这是它build立或不是64位的天气。 https://developer.apple.com/library/ios/documentation/General/Conceptual/CocoaTouch64BitGuide/ConvertingYourAppto64-Bit/ConvertingYourAppto64-Bit.html#//apple_ref/doc/uid/TP40013501-CH3-SW1

objc_setAssociatedObject函数在64位模式下的错误不在32位

我在我的项目中使用一个名为SKSTableView的整洁的表视图控制器,它允许每个表行有一些子行。 此代码在32位模式下工作正常,但当我在iPhone 5S上运行它或在4英寸64位模式下运行时,当您点击一行以获取子行时,会崩溃。 我没有任何关于64位和32位iOS系统的差异的知识。 我很想了解这里发生了什么。 你会注意到* SubRowObjectKey被设置为void,我得到的错误是: EXC_BAD_ACCESS_(code = EXC_I386_GPFLT) 尝试访问不存在的内容的一般保护错误(?) 当它崩溃Xcode突出显示这一行代码: objc_setAssociatedObject(self, SubRowObjectKey, subRowObj, OBJC_ASSOCIATION_ASSIGN); 还有这样的:打印*(subRowObj)的描述:(id)[0] =打印SubRowObjectKey的描述: 它似乎在32位模式下工作很好,但在64位似乎松散的地方。 下面是我正在查看的代码部分。 #pragma mark – NSIndexPath(SKSTableView) static void * SubRowObjectKey; @implementation NSIndexPath(SKSTableView) @dynamic subRow; – (NSInteger)子行 { id subRowObj = objc_getAssociatedObject(self,SubRowObjectKey); return [subRowObj integerValue]; } – (void)setSubRow:(NSInteger)subRow { if(IsEmpty(@(subRow))){ 返回; } id subRowObj = @(subRow); objc_setAssociatedObject(self,SubRowObjectKey,subRowObj,OBJC_ASSOCIATION_ASSIGN); } […]

Xcode – 找不到架构x86_64(iOS Lib)的符号

我正在build立一个静态库。 构build设置的体系结构设置为: $(ARCHS_STANDARD) ,显示为Standard Architectures (armv7, armv7s, arm64)我构build的libselectiOS设备,然后使用模拟器(例如iPhone视网膜)。 现在我有两个版本(一个在Debug-iphoneos ,另一个在Debug-iphonesimulator ,我使用lipo -create Debug-iphonesimulator来创build聚集的lib: lipo -create path/to/first/lib /path/to/second/lib -o MyLib.a 如果我在另一个项目中使用这个库在任何具有64位体系结构的iOS设备上进行模拟,那么它将给symbol(s) not found for architecture x86_64 。 真正让我如此生气的是,lib项目本身在另一个使用lib的项目的工作区内。 我可以在64位iOS模拟器上模拟! (在所有的模拟器和设备上)。 我究竟做错了什么? 笔记: 这是不重复的Q.在指责我之前(因为这是我第二天试图解决这个愚蠢的问题),我search了Stack和Google。 所有的答案都没有帮助。 我正在使用Xcode 5.1.1。

NSInteger和NSUInteger在混合的64位/ 32位环境中

我在NSLog / NSAssert等调用中有相当数量的string格式说明符,它们分别使用NSInteger (= int on 32bit)和NSInteger (= int on 32bit) NSUInteger (= unsigned int on 32bit) NSInteger (= int on 32bit) %d和%u 。 当将应用程序转换为64位时,会给出警告(当然),因为%ld %lu对于现在变成long unsigned long和unsigned longtypes是预期的。 简单地转换格式说明符当然会在32位版本中引入反向警告。 所以唯一的解决办法就是使用64位的说明符,而在64位的数据types中,每个地方都会有32位的警告。 但我想知道是否有格式说明符专门为NSInteger和NSUIntegertypes,这将在两个架构上工作,而不铸造?