我有一个问题,Xcode 4对用户交互的响应非常缓慢,例如编辑代码,滚动区域等.特别是对于具有许多控制器/视图文件等的大型项目.
我完全擦拭了硬盘,并在另一周内重新安装了Snow Leopard和Xcode,但是它再次(令人沮丧的)响应时间(过了几天)大大扰乱了工作流程.
我有时也通过Organizer - > Projects删除了项目的"派生数据",但收效甚微.
我想知道除了在第一个实例中获得更高规格的机器之外,我还能做些什么来提高性能.
仅供参考我正在使用2GHz的Intel Core 2 Duo处理器和4GB的RAM运行MacBook.
如果我们需要升级,我还想知道人们是否正在使用Xcode 4在性能良好的机器上遇到这种糟糕的性能(这会使我们的硬件升级变得毫无意义,因为只有Xcode在MacBook上有任何性能问题).
如果有人有任何建议或建议,或者甚至可以告诉我们硬件如何改进Xcode在大型项目树上的表现,那么这将非常有用,也是其他处于类似位置的开发人员的宝贵资源.
替代标题以帮助搜索
- Xcode找不到标题
- 在Xcode中缺少.h
- 找不到Xcode .h文件
- 未找到词法或预处理器问题文件
我正在开发一个来自Xcode 3的iOS应用程序项目.我现在已经转移到Xcode 4,我的项目构建了许多静态库.
这些静态库还声明了公共头文件,这些头文件由应用程序代码使用.在Xcode 3.x中,标题被复制(作为构建阶段)public headers directory,然后在应用程序项目中public headers directory被添加到headers search list.
在Xcode 4下,构建目录被移动到~/Library/Developer/Xcode/DerivedData/my-project.
问题是我如何在标题搜索设置中引用这个新位置?看起来:
public headers directory是相对于DerivedData目录,但是headers search 目录是相对于其他东西(可能是项目位置)我应该如何在Xcode 4中为iOS开发设置静态库目标,以确保在尝试编译为依赖项时,使用静态库的客户端可以使用头文件?
我正在尝试在Xcode 4中构建我的iPhone应用程序的发布版本,当它完成并启动Organizer时,没有版本号,它只是说"未指定".这使我无法使用Xcode 4的验证和提交功能.
有想法该怎么解决这个吗?我的版本号是在我的项目设置中设置的,因此不确定导致问题的原因.
我想使用Xcode 4和Cocoa Touch静态库项目管理工作区中的项目,这些项目包含我可以从其他项目引用的共享代码.根据WWDC 2010视频和Xcode 4文档,Xcode 4中的工作空间有一个"隐式依赖"功能.我一直试图让它工作,我没有取得多大成功.
示例工作区:DependenciesInXcode4.zip
您可以看到最基本的示例项目有2个静态库项目,我将其命名为Library1和Library2.然后我在每个项目中都有一个类,我从名为PrimaryApp的iPhone项目中引用它.在添加import语句时,我得到了Code Sense的支持,但构建失败了.

您可以看到构建失败的原因,因为它无法找到依赖项.

为解决这些问题,我手动链接了Library1和Library2项目.

我还必须将这些项目的路径添加为标题搜索路径.

现在,当我构建两个依赖库,然后在iPhone模拟器中运行PrimaryApp时,它会成功构建并运行.我发现它并不总是确保在必要时构建依赖项目,这显然是一个手动过程.这不是我认为的"隐式依赖",因为Xcode视频和文档暗示它应该工作.我一直在寻找更具体的例子,但到目前为止我没有运气.即使在Stackoverflow上,我还没有看到令人满意的答案.
看起来开发人员正在回归旧技术而不是真正使用新的"隐式依赖"功能.
我非常感谢帮助理解如何在Xcode 4中使用"隐式依赖"来处理工作空间.
这是我的问题:
在Xcode 3.2.5中,我使用"Build and Archive"创建一个没有任何问题的IPA文件.我怎么能在Xcode 4中做到这一点?我想我必须使用"Product - > Archive",但我在three20框架中收到了100多条错误消息.大多数是"没有这样的文件或目录".("产品 - >构建 - >构建存档"工作.没有错误.)
例如,这是第一条错误消息:
../scripts/Protect.command: line 23: cd: /Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[PROJECTNAME]-blabla/ArchiveIntermediates/[PROJECTNAME]/BuildProductsPath/Release-iphoneos/../three20/Three20Core: No such file or directory
Run Code Online (Sandbox Code Playgroud)
该路径"/[PROJECTNAME]/BuildProductsPath/three20/"确实不存在,但此路径存在:"/[PROJECTNAME]/three20/"
我能做什么?
嗨,我得到一个xcode"没有这样的文件或目录":
#import "Three20Core.h"
Run Code Online (Sandbox Code Playgroud)
我还注意到当我输入#import语句时它识别并帮助自动完成"Three20Core.h"文件,但是当我编译时我得到了错误?
这是Three20库(来自Facebook)的主库文件头.所以我的three20目录与我的app目录处于同一级别.在Xcode应用程序目标构建设置中:
任何错误的建议?
我按照本教程https://code.google.com/p/ios-static-framework/创建了自己的iOS框架,该教程使用静态库模板和聚合目标以及自定义运行脚本来创建框架.
起初它工作正常.在框架项目中包含另一个库后,在存档或构建设备时会创建错误.我认为问题在于该库的一些错误设置.但我只是不知道该尝试什么.我试过从https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/ld.1.html设置一些明智的其他链接标志,但没有运气.任何人都可以帮忙;(
哪些步骤将重现该问题?
按照教程,但将聚合脚本架构从更改armv6 armv7为armv7 armv7s.这是我更改的聚合目标脚本的一部分.其他一切都是一样的.
if [[ "$SF_SDK_PLATFORM" = "iphoneos" ]]
then
SF_OTHER_PLATFORM=iphonesimulator
SF_ARCHS=i386
else
SF_OTHER_PLATFORM=iphoneos
SF_ARCHS="armv7 armv7s"
fi
Run Code Online (Sandbox Code Playgroud)将一个外部库添加到项目中,这里我使用libBlocksKit.a.
-ObjC在应用程序中添加目标>构建设置>其他链接器标志错误是什么?
这个错误,基本上是"ld:warning:找不到选项的目录...... ld:lto:无法合并...符号乘法定义!".
ld: warning: directory not found for option '-L/Users/hlung/Dropbox/- Notes/stackoverflow/RealFrameworkApp/RealFrameworkApp/External/BlocksKit'
ld: lto: could not merge in /Users/hlung/Library/Developer/Xcode/DerivedData/RealFrameworkTest-evagqzwzyyolhjenkkjbvzibxppf/Build/Products/Debug-iphonesimulator/RealFrameworkTest.framework/RealFrameworkTest(NSObject+BlockObservation.o) because 'Linking globals named 'OBJC_CLASS_$_BKObserver': symbol multiply defined!', using libLTO version 'LLVM version 3.2svn, from Apple Clang 4.2 (build 425.0.28)' …Run Code Online (Sandbox Code Playgroud) 我一直在使用Xcode 3构建的项目上没有问题的C++库,但我现在在使用Xcode 4构建的项目上遇到构建问题.
将库放入Xcode 4项目并构建正常,但是一旦#include我得到它,就会在其主头文件的第4行出现"Lexical or Preprocessor Issue"错误,更具体地说是"'string'文件未找到.
仔细检查,错误指定 'string' file not found in ~/my project's directory/include/mainheader.h
我已经尝试过这里列出的解决方案,但都没有效果.
所以它认为头文件在我的项目目录中,但它显然是一个C/C++头...我怎么能告诉Xcode寻找这些C/C++头?
我正在使用 pod chronotruck/FlagPhoneNumber我刚刚更新为High Sierra/Xcode 10.1/Swift 4.2/Cocoapoods v-1.5.3to Mojave 10.14.15/Xcode 10.2.1/Swift 5/Cocoapoods v-1.7.3,但无法构建,因为在NBRegExMatcher.m文件内我收到错误
找不到“NBPhoneNumberDesc.h”文件
升级之前一切正常,我从未遇到过任何此类错误。
Podfile.lock 里面有这个:
- FlagPhoneNumber (0.7.6):
- FlagPhoneNumber/libPhoneNumberiOS (= 0.7.6)
- FlagPhoneNumber/libPhoneNumberiOS (0.7.6)
Run Code Online (Sandbox Code Playgroud)
奇怪的是,该 pod 中的其他几个文件也使用该#import "NBPhoneNumberDesc.h"模块,但它们都工作正常并且没有任何错误
我尝试了这个答案,但 NBPhoneNumberDesc.h 已经在公共部分:
我还尝试了这个答案来设置 SWIFT_OBJC_INTERFACE_HEADER_NAME 以匹配我的项目的桥接标头,但没有任何结果
在文件内NBRegExMatcher.m(发生错误的地方)我注释掉#import NBPhoneNumberDesc.h以查看会发生什么,然后 NBPhoneNumberUtil.h 得到相同的错误:
我注意到它libPhoneNumber-iOS捆绑在FlagPhoneNumber吊舱内,它的版本是libPhoneNumberiOS (0.7.6). 然后,我手动将 pod 添加到我的项目中,看看会发生什么,但这也没有什么区别,错误仍然存在。我唯一注意到的是,当我手动添加 Pod 时,Podfile.lock 版本是- libPhoneNumber-iOS (0.9.15)其中,而 FlagPhoneNumber 正在使用的版本是libPhoneNumberiOS (0.7.6) …
我有两个项目,每个项目构建一个静态库,以及另一个使用两个静态库的项目.
两个静态库中的一个构建正常.另一个没有,原因是它的公共头文件在自定义shell脚本运行之前没有复制到build文件夹.
以下是对所发生情况的演示:
SampleA(工作的那个)
Compile MyClass1.cpp ...
Compile MyClass2.cpp ...
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Create universal binary libSampleA.a ...
Copy SampleA.h ...in /Users/user/....
Copy MyClass1.h ...in /Users/user/....
Copy MyClass2.h ...in /Users/user/....
Run custom shell script 'Prepare Framework'
Stripping libSampleA.a
--- Build complete
Run Code Online (Sandbox Code Playgroud)
SampleB(不起作用的那个)
Compile OtherClass1.cpp ...
Compile OtherClass2.cpp ...
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Libtool /Users/user/Library/Developer/XCode/DerivedData/.....
Create universal binary libSampleB.a ...
// >>>>> NO HEADER FILES ARE COPIED <<<<<<
Run custom shell script …Run Code Online (Sandbox Code Playgroud) xcode4 ×7
xcode ×5
ios ×4
iphone ×3
header ×2
three20 ×2
archiving ×1
c ×1
c++ ×1
cocoapods ×1
frameworks ×1
header-files ×1
ios4 ×1
module ×1
objective-c ×1
performance ×1
preprocessor ×1
string.h ×1
swift ×1
xcode5 ×1