天道酬勤,学无止境

将Xcode更新为5.1(5B130a)时,EAGLView.mm中出现错误“从指针投射到较小类型'int'的信息丢失”(Error “Cast from pointer to smaller type 'int' loses information” in EAGLView.mm when update Xcode to 5.1 (5B130a))

问题

昨天,我将Xcode更新为最新版本(5.1 (5B130a))以与iOS 7.1兼容。 然后建立我的项目,当64位模拟器(例如:iPhone Retina 4英寸64位) EAGLView.mmEAGLView.mm文件( line 408 )中出现错误"Cast from pointer to smaller type 'int' loses information"line 408 )已选择。

我正在使用cocos2d-x-2.2.2 。 在更新Xcode之前,我的项目仍可以在所有设备上正常构建和运行。

感谢您的所有建议。

更新:今天,我下载了最新版本的cocos2d-x(cocos2d-x 2.2.3)。 但是问题仍然存在。

这是发生错误的一些代码:

/cocos2d-x-2.2.2/cocos2dx/platform/ios/EAGLView.mm:408:18: Cast from pointer to smaller type 'int' loses information

// Pass the touches to the superview
#pragma mark EAGLView - Touch Delegate
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    if (isKeyboardShown_)
    {
        [self handleTouchesAfterKeyboardShow];
        return;
    }

    int ids[IOS_MAX_TOUCHES_COUNT] = {0};
    float xs[IOS_MAX_TOUCHES_COUNT] = {0.0f};
    float ys[IOS_MAX_TOUCHES_COUNT] = {0.0f};

    int i = 0;
    for (UITouch *touch in touches) {
        ids[i] = (int)touch;     // error occur here
        xs[i] = [touch locationInView: [touch view]].x * view.contentScaleFactor;;
        ys[i] = [touch locationInView: [touch view]].y * view.contentScaleFactor;;
        ++i;
    }
    cocos2d::CCEGLView::sharedOpenGLView()->handleTouchesBegin(i, ids, xs, ys);
}
回答1

显然,与较旧的clang版本相比,Xcode 5.1及更高版本中的clang版本对源代码中潜在的32位与64位不兼容的要求更为严格。 老实说,我认为,这里的clang过于严格。 精明的编译器可能会在这样的行上发出警告,但绝不应该引发错误,因为此代码不是错误的,它仅可能容易出错,但可以完全有效。

原始代码是

ids[i] = (int)touch;

id是一个整数数组,而touch是一个指针。

在64位版本中,指针是64位(与32位版本相反,后者是32位),而int是32位,因此此分配将64位值存储在32位存储器中,这可能导致信息丢失。

因此,对于像这样的行,编译器抛出错误是完全有效的

ids[i] = touch;

但是,实际的代码包含显式的c样式转换为int。 此显式强制转换清楚地告诉编译器“闭嘴,我知道这段代码看起来不正确,但我确实知道我在做什么”。

因此,编译器在这里非常挑剔,并且正确的解决方案可以使代码再次进行编译,并且仍然让它显示出与Xcode 5.0中完全相同的行为,即首先将其转换为大小与指针之一匹配的整数类型,然后将其转换为整数。然后对我们实际想要的int进行第二次强制转换:

ids[i] = (int)(size_t)touch;

我在这里使用size_t,因为无论平台如何,它始终具有与指针相同的大小。 long不能用于32位系统,long不能用于64位Windows(而OS X等64位Unix和类似Unix的系统使用LP64数据模型,其中long是64位,而64位Windows使用LLP64数据模型,其中long的大小为32位(http://en.wikipedia.org/wiki/64-bit_computing#64-bit_data_models))。

回答2

我也遇到这个问题。

ids[i] = (int)touch; //错误发生在这里=>我将其更改为以下内容。

ids[i] = (uintptr_t)touch;

然后,我可以继续编译。 也许您也可以尝试一下。

回答3

XCode 5.1将所有体系结构更改为64位。

您可以通过“构建设置”中的所有内容更改体系结构以支持32位编译

  • 在体系结构上使用$(ARCHS_STANDARD_32_BIT)而不是$(ARCHS_STANDARD)
  • 在有效架构处删除arm64

希望能帮助到你。

回答4

当然,解决方案是将id的类型从int更改为足以容纳指针的类型。

我不熟悉XCode,但解决方案应如下所示:

将ID声明更改为:

intptr_t ids[IOS_MAX_TOUCHES_COUNT];

和产生错误的行:

ids[i] = (intptr_t)touch;

上面的大多数“解决方案”在转换为较小的类型时可能会丢失部分指针地址。 如果该值再次用作指针,那将是一个极差的主意。

回答5

您可以通过替换以下代码行来解决此错误。

ids[i] = (uint64_t)touch;

您应该基于64位构建系统执行类型转换,因为类型“ int”仅支持-32768〜32768。

回答6
ids[i] = (int)touch; put * and check it.
ids[i] = *(int *)touch;

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Error “Cast from pointer to smaller type 'int' loses information” in EAGLView.mm when update Xcode to 5.1 (5B130a)
    Yesterday, I updated Xcode to the newest version (5.1 (5B130a)) to compatible with iOS 7.1. Then I build my project, I get the error "Cast from pointer to smaller type 'int' loses information" in EAGLView.mm file (line 408) when 64-bit simulators (e.g.: iPhone Retina 4-inch 64-bit) is selected. I'm using cocos2d-x-2.2.2. Before I update Xcode, my project still can build and run normally with all devices. Thanks for all recommendation. Update: Today, i download the latest version of cocos2d-x (cocos2d-x 2.2.3). But the problem has still happened. Here is some piece of code where that error
  • Ruby Gem安装Json在Mavericks和Xcode 5.1上失败-未知参数:'-multiply_definedsuppress'(Ruby Gem install Json fails on Mavericks and Xcode 5.1 - unknown argument: '-multiply_definedsuppress')
    问题 我正在尝试运行gem install json并收到以下错误 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb creating Makefile make "DESTDIR=" clean make "DESTDIR=" compiling generator.c linking shared-object json/ext/generator.bundle clang: error: unknown argument: '-multiply_definedsuppress' [-Wunused-command-line-argument-hard-error-in-future] clang: note: this will be a hard error (cannot be downgraded to a warning) in the future make: *** [generator.bundle] Error 1 make failed, exit code 2 Gem files will remain
  • MEX编译错误:未知类型名称'char16_t'(MEX compile error: unknown type name 'char16_t')
    问题 由于以下错误,我无法编译任何MATLAB MEX代码: In file included from /Applications/MATLAB_R2013a.app/extern/include/mex.h:58: In file included from /Applications/MATLAB_R2013a.app/extern/include/matrix.h:294: /Applications/MATLAB_R2013a.app/extern/include/tmwtypes.h:819:9: error: unknown type name 'char16_t' typedef char16_t CHAR16_T; 据我所知,机器上唯一发生的变化是Xcode已更新为5.1版(5B130a)。 暂时无法在MATLAB中编译MEX代码吗? [在具有Apple LLVM版本5.1(clang-503.0.38)(基于LLVM 3.4svn的OS 10.9.2上运行)] 回答1 默认情况下,升级的Clang不会设置MATLAB必需的char16_t 。 快速解决 这适用于C或C ++代码,但需要在每个mex命令行上完成。 >> mex -Dchar16_t=uint16_t ... 下面的其他解决方案将此定义放入mex配置或启用C ++ 11。 永久解决方案 选项:
  • xcode 5.1:libCordova.a架构问题(xcode 5.1: libCordova.a architecture problems)
    问题 昨天(14年3月10日),当iOS 7.1发行时,我还升级到了Xcode 5.1,发现我的PhoneGap / Cordova项目无法再编译到我的iPhone 5s中。 我也将Cordova升级到了最新版本:v 3.4.0-0.1.3。 我已经阅读了许多关于SO的不同解决方案,它们相互关联,因此更改活动架构并仅构建活动架构,它们都不起作用。 因此,这就是我尝试过的以及出现的错误。 最初我得到了错误: missing required architecture arm64 in file <long file path omitted> libCordova.a Undefined symbols for architecture arm64 因此,我尝试了以下方法。 我在项目中选择了CordovaLib子项目,在项目和目标中,我都转到“架构”下的“构建设置” ,并确保arm64不包含在任何“调试”或“发布”架构中。 此时,仅将仅将Active Active Architecture设置为“是”。 这导致以下错误: file was built for archive which is not the architecture being linked (armv7): <long file path omitted> libCordova.a Undefined
  • 找不到CFBundle的可执行文件CertUIFramework.axbundle(Cannot find executable for CFBundle CertUIFramework.axbundle)
    问题 刚刚更新到Xcode 5,这是我所有应用程序在记录器中引发的第一个错误。 似乎无法理解为什么会这样。 2013-09-19 10:46:54.341 MyApp[1156:a0b] Cannot find executable for CFBundle 0x8a7c7a0 </Applications/Xcode.app/Contents/Developer/Platforms/ iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.0.sdk/ System/Library/AccessibilityBundles/CertUIFramework.axbundle> (not loaded) 编辑(11-11-2013):对于每个阅读者,一旦我等待一个可靠的可行解决方案来接受并结束。 投票最高的答案才有效,直到您仅重新打开项目。 编辑( 2014年9月30日):自XCode 6发布以来,我已经看到它已经排序! 最后 回答1 最终编辑- 临时解决方法:单击iOS模拟器>重置内容和设置...,然后再次运行。 可能会随机再次出现此错误消息。 对我来说,这是在我启动其他应用程序时发生的。 在Apple开发人员论坛和StackOverflow中,有几个关于此问题的主题,但没有一个给出明确的答案。 这似乎是一个SDK错误
  • 使用Swift 4.0编译的模块无法在Swift 4.0.1中导入(Module compiled with Swift 4.0 cannot be imported in Swift 4.0.1)
    问题 但是我已经使用相同的Xcode重新编译了框架,但它仍然给我这个错误。 两者的基本SDK iOS 11.1 两种的Swift语言版本Swift 4.0 不使用豆荚/迦太基 我希望有人会知道 回答1 更新: 对于Xcode的发行版本: 当使用Xcode 9.1、9.2、9.3、9.4、10等打开使用早期Xcode工具构建的框架的项目时,将发生此错误(以及与Swift 4.1、4.2等类似的错误)。 要解决此问题,请使用Carthage( carthage update --platform iOS ),Cocoapods( pod update或pod install )或通过新的更新的Xcode工具手动更新和重建框架。 更新Xcode时应自动更新工具,但如果没有,则可以按照原始答案中下面列出的步骤进行操作。 您可能还需要清理项目cmd + shift + k以及可能的构建文件夹cmd + option + shift + k以使Xcode不使用缓存的框架构建。 在某些情况下,您可能还需要删除您的派生数据文件夹(通过转到Xcode偏好设置->位置->派生数据文件夹即可轻松找到(感谢Stunner) 对于Xcode的Beta版: 请参阅下面的原始答案,然后按照上面的步骤操作。 原始答案: 您可能仍将xcodebuild工具设置为Xcode 9.0,该工具使用Swift 4.0构建
  • XCode 5.1单元测试覆盖率分析对使用块的文件失败(XCode 5.1 Unit Test Coverage Analysis Fails On Files Using Blocks)
    问题 今天,我负责将单元测试覆盖率分析添加到我们的代码库中。 今天也是iOS 7.1与XCode 5.1一起发布的日子。 从发行说明中: 用于代码覆盖率测试的gcov工具已重新实现。 新版本使用LLVM项目中的llvm-cov工具。 对于所有重要功能,它在功能上均等效于旧版本。 gcov在Xcode中的位置也已移动,请使用xcrun调用它。 如果发现问题,请提交错误报告。 对于此发行版,您仍然可以使用GCC的gcov的旧版本,该版本可以作为gcov-4.2获得。 11919694更新 仅在关注了几篇说明性博客文章之后,我才意识到了这一点:正确设置我的环境-在测试时在模拟器的build文件夹中生成.gcda / .gcno文件-并使用此处的报告生成工具尝试将其解析为报告。 (这是一个./getcov脚本,该脚本收集您的环境变量以传递给lcov-1.10脚本以生成报告) 第一个障碍是新捆绑的gcov程序不支持-v参数来获取版本,这是lcov初始化的第一步。 看起来好像已经不是入门者了,但是阅读了上面的发行说明,我修改了lcov脚本以使用旧的gcov-4.2版本并解决了该问题。 但是, lcov在处理我的coverage数据文件时很早就出错了。 这生成了一个报告,该报告可能包含我项目中按字母顺序排列的前10个左右文件。 不是特别有用。 错误输出很小,也无济于事: geninfo:错误:
  • Xcode 5.1:缺少必需的体系结构arm64(Xcode 5.1: missing required architecture arm64)
    问题 刚升级到Xcode 5.1,出现以下错误: 忽略文件... Dependencies / SalesforceNetworkSDK / libSalesforceNetworkSDK.a,文件中缺少必需的体系结构arm64 ... Dependencies / SalesforceNetworkSDK / libSalesforceNetworkSDK.a(3个切片) 如果我仅关闭构建活动拱门并从有效拱门中移除arm64,则会得到: Build / Products / Debug-iphoneos / libPods.a,该文件是为归档而构建的,而不是要链接的体系结构(armv7) 回答1 根据Apple的发行说明,请参阅以下注意事项。 笔记: 在Xcode 5.1中打开现有项目时,请注意以下架构问题: 当针对所有体系结构进行构建时,请删除所有显式体系结构设置,并使用默认的“标准体系结构”设置。 对于以前使用“包括64位的标准体系结构”选择加入的项目,请切换回“标准体系结构”设置。 首次打开现有项目时,Xcode 5.1可能会显示有关Xcode 5.0体系结构设置使用情况的警告。 选择警告提供了修改设置的工作流程。 无法支持64位的项目需要专门将体系结构构建设置设置为不包括64位。 因此,您必须将架构设置如下,以支持libs架构。 这篇文章的参考。 更新:从5月15日开始
  • 没有身份可用于签署Xcode 5(No identities are available for signing Xcode 5)
    问题 尝试在Xcode 5中验证我的应用程序时出现错误“没有身份可用于签名”。 我很困惑,因为当我尝试以临时方式分发我的应用程序时,它成功创建了IPA文件并将其安装在测试设备上。 但是,当我尝试验证我的应用程序或提交给AppStore时,总是出现错误。 也许有人可以帮助我解决这个问题。 回答1 您需要做的是: 转到开发人员中心中的证书,标识符和配置文件在“ Provisioning Profiles” /“ Distribution”中创建一个新的Provisioning Profile 下载配置文件并打开它重新启动Xcode 回答2 请确保您使用的是分发配置配置文件,而不是开发。 并且Xcode中的代码符号设置与发行配置文件兼容。 回答3 验证过程不适用于临时配置文件。 需要创建分发设置配置文件。 Beta测试说明中未对此进行指定。 我整天痛苦不已,直到意识到。 回答4 使用应用程序加载器(Xcode->打开开发人员工具->应用程序加载器)。 另外-此答案/问题可能也对您有所帮助:https://stackoverflow.com/a/18914073/730172 回答5 重新启动Xcode为我解决了问题! 重新启动和/或清理解决了所有问题的99%... 回答6 上面@CainaSouza的评论对我有用。 我什至不必创建任何新的配置文件。 我只需要转到Xcode>首选项>帐户>
  • 为什么我的ibtool失败,退出代码为255?(Why am I getting ibtool failed with exit code 255?)
    问题 突然之间我无法构建我的项目。 我收到以下编译器错误: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/ibtool失败,退出代码为255 我的一大堆xib文件都出现此错误。 有什么想法正在发生,什么是解决方案? 使用Xcode 4.6,iOS 6.1。 回答1 最近,我使用Xcode 4.6和iOS 6.1发生了类似的事情。 我所做的只是在模拟器上切换到了不同的设备版本(5.1),然后运行了。 切换回6.1,并自行修复。 Xcode有时可能无济于事。 回答2 这发生在我们身上,我们清理了缓存,删除了Derived data文件夹。。等等。什么也没有发生。 通过以下步骤对其进行了修复, 打开xib(nib)作为源代码(右键单击xib的“ Open As > Source Code来自Xcode Open As > Source Code ,或使用TextEdit打开它) 删除此appearanceType="aqua" 使用Xcode保存并打开 有关本文的更多说明,它可帮助我们解决此问题。 回答3 尝试清洁应用程序。 Cmd-Shft-K。 回答4 尝试在项目中查找所有XIB文件并打开它。 其中之一很可能会使您的Xcode崩溃。
  • 构建时出现Swift编译器分段错误(Swift compiler segmentation fault when building)
    问题 在我的UIViewExtension.swift文件中向UIView添加一个(便捷的)计算height属性会导致Swift编译器出现段错误...这可能是哪里出了问题? 0 swift 0x00000001061e5608 llvm::sys::PrintStackTrace(__sFILE*) + 40 1 swift 0x00000001061e5af4 SignalHandler(int) + 452 2 libsystem_platform.dylib 0x00007fff894da5aa _sigtramp + 26 3 libsystem_platform.dylib 0xb03939841e997c88 _sigtramp + 2504775416 4 swift 0x00000001064c8bb9 swift::NominalTypeDecl::getMembers(bool) const + 41 5 swift 0x00000001055efab9 swift::irgen::ClassMetadataLayout<(anonymous namespace)::FindClassMethodIndex>::addClassMembers(swift::ClassDecl*) + 329 6 swift 0x00000001055e97b2 swift
  • UIScrollView不滚动(UIScrollView not scrolling)
    问题 我有一个UIScrollView ,其中包含许多UIImageView ,UILabels等...标签的长度比UIScrollView更长,但是当我运行该应用程序时,我无法单击并向下滚动... 为什么会这样呢? 谢谢 回答1 展示完整的工作代码片段总是很不错的: // in viewDidLoad (if using Autolayout check note below): UIScrollView *myScrollView; UIView *contentView; // scrollview won't scroll unless content size explicitly set [myScrollView addSubview:contentView];//if the contentView is not already inside your scrollview in your xib/StoryBoard doc myScrollView.contentSize = contentView.frame.size; //sets ScrollView content size 斯威夫特4.0 let myScrollView let contentView // scrollview won't scroll unless content size
  • Xcode:未能获得处理任务(Xcode : failed to get the task for process)
    问题 这适用于已编译和分发多次的现有应用程序。 由于更新到Xcode 5,我弹出此错误。 我在代码签名中选择了我的开发人员资料进行调试。 几次删除了派生数据。 退出几次下载并尝试重新添加我的开发人员证书。 重设我的电脑! 并检查更新尝试使用黑魔法! 方案>构建配置设置为调试 我正在编译编译为iOS 6.1的奇怪情况,因此可以在我的iPhone 3GS上运行-基本版本是SDK iOS 7? 这可能是个问题吗? 我只需要先测试一下,然后再找到更新的手机,然后再将其更改为iOS 7即可。 回答1 当您选择临时设置配置文件时,往往会出现此错误。 确保您的代码签名用于开发。 回答2 如果您使用分发配置概要文件调试设备,则会发生此错误。 去 Build Settings > Build Settings Provisioning Profile并set to 'None' for Debugging 。 回答3 最后,我记得在项目和目标选项卡中都设置了代码签名和配置参数,从而解决了这个问题。 回答4 当您的设备通过电缆连接到计算机并且构建并运行应用程序时,设备将尝试调试。 仅允许对开发配置文件进行调试。 如果您使用开发配置文件+开发签名代码进行构建+运行,那么一切都会好起来的如果您使用AppStore分发配置文件+分发签名代码进行构建+运行,则该应用甚至无法访问您的设备。
  • Xcode构建失败“体系结构x86_64的未定义符号”(Xcode build failure “Undefined symbols for architecture x86_64”)
    问题 Xcode初学者的问题: 这是我第一次使用Xcode 4.6.3。 我正在尝试编写一个非常简单的控制台程序,该程序搜索配对的BT设备并将其打印到NSLog。 生成时出现以下错误: Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_IOBluetoothDevice", referenced from: objc-class-ref in main.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) 我疯狂地搜寻。 常见的问题应该是对文件的引用,该文件仅导入了头文件,而链接器未找到任何实现(* .m文件)。 但是,IOBluetooth库是一个类似于Foundation框架的标准框架。 我在上述声明中遗漏了什么? 我也尝试过为32位计算机构建它(构建再次失败)。 显然,这是一个链接器错误,但与它的关系不知道,除了在x86和x64体系结构上查找IOBluetoothDevice的实现存在问题之外,而头文件来自一个包含在标准中的Framework(称为IO蓝牙? 供您参考,我的主要代码“ main.m”为:
  • 即使设置了构建配置,“警告:iPhone应用程序也应包括armv6架构”(“Warning: iPhone apps should include an armv6 architecture” even with build config set)
    问题 自从我不得不调整项目构建设置以来已经有一段时间了。 升级到最新的SDK后,我无法建立临时分发配置。 生成会生成以下警告和错误: 警告:iPhone应用程序应包含armv6架构(当前ARCHS =“ armv7”) iPhone / iPod Touch:应用程序可执行文件缺少必需的体系结构。 至少必须存在以下一种或多种体系结构:armv6(-19033) 但是在我的项目中,我认为我已经正确设置了一些东西: 体系结构是:标准(armv6 armv7) 基本SDK:最新的iOS(当前设置为iOS 4.2) 有效架构:armv6 armv7 我已经清理了所有目标。 我感谢任何提示。 回答1 如果使用Xcode 4.2或更高版本,请尝试以下操作: 单击您的项目名称(在左列中),然后单击目标: 点击“构建设置”标签(在右列中): 单击“架构”下的“发布”或“发行”行,然后选择“其他...”: 双击出现的弹出窗口中名为“ $(ARCHS_STANDARD_32_BIT)”的突出显示的行,然后键入“ armv6”将其替换。 然后在弹出式窗口的左下方添加带有加号按钮的新行,并键入“ armv7”,然后单击“完成”: 更新:您还应该添加armv7来定位iPhone 5。 (如果使用Xcode 4.5或更高版本进行构建,则删除armv6,后者不再支持armv6。) 而已。 现在
  • 在没有开发人员程序,iOS 5.1的设备上安装iOS Apps(Install iOS Apps on device without developer program, iOS 5.1)
    问题 我正在尝试将iOS应用安装到运行iOS 5.1的设备上。 它目前尚未越狱,但如果那样做,我会做的。 当我运行iOS 5.0.1时,我遵循以下线程:如何将iPhone应用程序从Xcode部署到真实的iPhone设备上? 并创建了一个自签名证书,就像证书一样。 更新到Xcode 4.3.2和iOS 5.1后,我无法使它工作 我也尝试遵循此线程,但没有成功:在没有苹果开发人员程序或越狱的设备上测试iOS应用 那么,如何将我的应用程序从Xcode 4.3.2安装到运行iOS 5.1的iPhone 4上,而又不成为开发人员计划的成员呢? 编辑:我现在能够将应用程序放到iPhone上。 但是,当我尝试启动它们时,它们崩溃了,甚至没有启动图像出现。 我已经越狱了该设备,安装了Appsync,编辑了SDKSettings.plist并将构建属性更改为“ Do n't code Sign”。 这是当我尝试启动应用程序时控制台给我的信息,但我在Xcode中没有收到任何崩溃日志: May 8 18:25:35 unknown SpringBoard[54] <Warning>: Unable to obtain a task name port right for pid 1017: (os/kern) failure May 8 18:25:35 unknown com.apple
  • 权利文件与您的配置文件中指定的权利文件不匹配。(0xE8008016)(Entitlements file do not match those specified in your provisioning profile.(0xE8008016))
    问题 该可执行文件已使用无效的权利进行了签名。 您的应用程序的代码签名权利文件中指定的权利与您的配置文件中指定的权利不匹配。(0xE8008016)。 我收到此错误。 请帮我。 我已经创建了配置文件并更改了捆绑包ID。 我已经从“目标”->“功能”中启用了钥匙串共享,并生成了新的.entitlement文件。 而且我还更改了其中的捆绑包ID。 回答1 对于我来说,在Xcode 5.1中,我得到The entitlements specified in your application's Code Signing Entitlements file do not match those specified in your provisioning profile. 尝试在我的设备上测试该应用时。 设备开发证书必须在2015年2月到期。 问题已解决: 在GameCenter下,选择Target->Capabilities ,这里我在GameCenter权利上遇到了错误,因为它没有添加到项目中,尽管应用程序的第一版是通过相同的XCode 5.1发布的,但是以前没有这样的错误。 下面,给出了一个标题为Fix Issue的按钮。 单击后,添加了GameCenter权利,问题已解决。 病房之后,屏幕看起来像: 对我而言,与证书或捆绑包标识符无关。 应用现在可以在设备上成功运行。 回答2
  • 体系结构arm64的未定义符号(Undefined symbols for architecture arm64)
    问题 每次从CocoaPods导入文件时,我都遇到Apple Mach-O链接器错误。 Undefined symbols for architecture arm64: "_OBJC_CLASS_$_FBSession", referenced from: someFile ld: symbol(s) not found for architecture arm64 对于我使用的各种Pod,我大约有12种。 我正在尝试使用XCode 5为iPhone 5S进行构建。 我一直在尝试在SO上使用各种解决方案,但是还没有任何一种可以使用。 如何修复此Apple Mach-O链接器错误? 刚刚发现了另一个可能有趣的警告,希望这可以引导我找到解决方案: Ignoring file ~/Library/Developer/Xcode/DerivedData/SomeApp/Build/Products/Debug-iphoneos/libPods.a, file was built for archive which is not the architecture being linked (arm64):~/Library/Developer/Xcode/DerivedData/someApp/Build/Products/Debug-iphoneos/libPods.a 回答1
  • lang错误:未知参数:'-mno-fused-madd'(python软件包安装失败)(clang error: unknown argument: '-mno-fused-madd' (python package installation failure))
    问题 当尝试在Mavericks 10.9上通过pip安装psycopg2时,出现以下错误: clang: error: unknown argument: '-mno-fused-madd' [-Wunused-command-line-argument-hard-error-in-future] 不知道如何进行,并已在此和其他地方搜索了此特定错误。 任何帮助深表感谢! 这是pip的完整输出: $ pip install psycopg2 Downloading/unpacking psycopg2 Downloading psycopg2-2.5.2.tar.gz (685kB): 685kB downloaded Running setup.py (path:/private/var/folders/0z/ljjwsjmn4v9_zwm81vhxj69m0000gn/T/pip_build_tino/psycopg2/setup.py) egg_info for package psycopg2 Installing collected packages: psycopg2 Running setup.py install for psycopg2 building 'psycopg2._psycopg' extension cc -fno-strict-aliasing
  • Xcode突然停止在硬件上运行项目:“无法启动xxx.app:..没有此类文件。”(Xcode suddenly stopped running project on hardware: “Could not launch xxx.app: .. No such file..” [closed])
    问题 关门了。 这个问题需要更加集中。 它当前不接受答案。 想要改善这个问题吗? 更新问题,使其仅通过编辑此帖子即可将重点放在一个问题上。 4年前关闭。 改善这个问题 Xcode已停止运行我的应用程序,它是在我从设备中删除它并尝试通过在Xcode中重新运行它来尝试重新安装后立即启动的(我已经做过数百次了)。 它说 “无法启动XXX.app” “没有这样的文件或目录(/Users/Mylaptop/Library/Developer/Xcode/DerivedData/MyApp-ekxcbebfpzkahtfkujyqkcwprzia/Build/Products/Debug-iphoneos/MyApps.app/MyApp)。” 我重新启动了手机,重新启动了Xcode,清理了所有内容,并重建了所有内容。 此错误消息不会消失。 这是我自使用Xcode 4.5以来就一直使用的,如果我恢复到4.3.2,则Xcode会显示“ Finished running app”,但实际上并没有执行任何操作-该应用既未安装也未运行。 我完全被卡住了-无法再在设备上运行任何东西。 有什么建议? 回答1 真烦人。 在许多不同情况下都会发生此错误。 有时重新启动Xcode,可以解决此问题。 如果不是,请按照下列步骤操作: 断开设备连接。 从您的设备中删除该应用。 退出Xcode(不要只是简单地关闭窗口