Gab*_*ian 104 iphone cocoa-touch
构建我的iPhone应用程序时出现此错误:
ld:警告:在/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/System/Library /Frameworks/UIKit.framework/UIKit中,缺少文件中所需的架构i386
它适用于我的应用程序中的所有框架.这很奇怪,因为这不是早些时候发生的.
Jor*_*dan 131
当您向项目添加框架并无意中将框架复制到项目目录中时,会发生这种情况.
修复方法是检查任何iphone SDK*.Framework文件的项目目录(将项目存储在磁盘上的位置)并删除它们.
项目将在之后建成.
小智 85
我有同样的问题,解决方案结果是一个简单的解决方案.然后备份然后在TextMate或TextEdit中打开project.pbxproj(位于项目文件包中)并搜索标题为"/*Begin XCBuildConfiguration section*/"的部分.查找名为FRAMEWORK_SEARCH_PATHS的密钥并删除它及其内容(每个构建配置一次,因此我在两个位置删除它).以下是我删除的示例:
FRAMEWORK_SEARCH_PATHS = (
"$(inherited)",
"\"$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/System/Library/Frameworks\"",);
Run Code Online (Sandbox Code Playgroud)
我的项目现在为iPhone设备和iPhoneSimulator构建.
Joh*_*tie 43
这里发生的事情是,Xcode神秘地添加了一个"框架搜索路径"条目,指向特定的iPhone设备SDK.例如,我最近设置为:
$(DEVELOPER_DIR)/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/System/Library/Frameworks
Run Code Online (Sandbox Code Playgroud)
这导致编译器找到不正确架构的框架.删除目标的构建设置中"框架搜索路径"键下的任何值将解决该问题.
小智 10
我只想在XCode中提一下,如果你转到"编辑项目设置"并找到"搜索路径",则有一个"框架搜索路径"字段.更新这个应该解决问题,而不必破解项目文件!
干杯!
杰西
小智 8
在添加框架时,请检查您是否未将框架复制到项目中.如果您复制了它,则无法找到原始路径.解决这个问题.从项目中的frameworks文件夹中删除AVFoundation框架,然后再次添加,但这一次,请确保没有标记复制检查.
这为我修好了!
我以不同的方式修复它.我之所以遇到这个错误的原因是我在我的项目中添加了两次security.framework.我无法在xcode中看到安全框架,我在finder中打开了项目并找到了这个框架我删除了,问题解决了.
虽然有可能删除了某些内容,但根据我的经验,项目文件中的内容会被搞砸.我还没有确定那些"东西"是什么.当SDK安装很好时,我遇到了类似的问题.有几种选择.
首先,将所有文件添加到新项目中.这似乎通常有效.但是,有点痛苦.
其次,您可以在XCode /获取信息/构建/库搜索路径中右键单击项目.添加类似于/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.1.sdk/usr/lib的新路径.为每个版本(2.2.1等)和平台(模拟器或iPhoneOS)添加该字符串的相应版本.如果框架是您的问题,请对框架搜索路径执行类似的操作.
第三,更多的工作,但更可靠,是从MyProject.xcodeproj中打开project.pbxproj(Textmate很适合这个).查找"/*Begin XCBuildConfiguration section*/",然后"LIBRARY_SEARCH_PATHS"和"FRAMEWORK_SEARCH_PATHS".根据需要添加或修改路径,然后保存文件.
在任何情况下,屁股都会感到痛苦,而且我确定要确定原因,因为我已经发生了几次这种情况.项目建设很好,然后只是起来并拒绝这样做似乎没有什么理由.
从终端在框架上运行文件命令:
file /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS3.1.sdk/System/Library /Frameworks/UIKit.framework/UIKit
Run Code Online (Sandbox Code Playgroud)
您应该会收到一条消息,告诉您 UIKit 二进制文件与哪些架构兼容。如果您没有看到列出的“i386”,那么您已经设法删除了 UIKit 的 i386 版本,这意味着您无法为模拟器进行构建。要解决此问题,您必须重新安装SDK。
如果您遇到其他错误,希望它能帮助您找出实际问题是什么。
| 归档时间: |
|
| 查看次数: |
102262 次 |
| 最近记录: |