似乎新的Xcode 4不再适用XCCodeSenseFormattingOptions了.至少对于我来说 :(
无论如何,你知道怎么把开口支架放到Xcode 4中自动完成的新线上吗?我以前在终端中输入这个,但它不适用于新的Xcode.
defaults write com.apple.Xcode XCCodeSenseFormattingOptions -dict BlockSeparator "\\n" PreMethodDeclSpacing ""
Run Code Online (Sandbox Code Playgroud) 从XCode 4开始,现在有一个Code Snippets部分,在输入时通过自动完成提供片段.我对你们都存储在那里的片段非常感兴趣.哪些片段可以节省您最多的时间(以及为什么)?
请仅发布实际的片段(意思是没有讽刺的"不需要没有stinkin'片段",也没有"我喜欢<XYZ>"的片段),只有短片和甜片(即不超过~20行)至多,最多...).如果一个片段显然没用,也可以解释为什么你认为它是.;)
我正在尝试将我现有的iPhone应用程序项目升级到通用应用程序,但我在Xcode 4中找不到任何选项来执行此操作.它在哪里?
我正在编写一个iOS应用程序,我希望用户能够独立于iPhone或iPad的语言更改UI语言.问题是,当语言发生变化时,如何为当前显示的视图重新加载适当的NIB文件,如何加载相应的.strings文件以使其NSLocalizedString正常工作?
我一直尝试使用新的xcode 4 IDE连接到https assembla svn存储库,用于我正在处理的iPhone项目.
我能够与最新版本的xcode(3?)和其他svn应用程序连接得很好.我使用相同的repo地址和凭据,所以我很困惑为什么这不起作用.
我也尝试加载repo的工作副本,它也无法连接.
出现的一条错误消息是"无法加载修订"
有小费吗?
所以我在UISplitViewController的详细视图中有一个MyViewController实例.我正在运行单元测试以查看详细视图是否包含正确的视图类型.
我用以下方法在单元测试中测试控制器的类型:
[controller isKindOfClass:[MyViewController class]];
Run Code Online (Sandbox Code Playgroud)
但是,isKindOfClass方法始终返回NO
当我在调试器中调用对象时,我得到以下内容:
(gdb) po controller
<MyViewController: 0xb31c4d0>
Run Code Online (Sandbox Code Playgroud)
我也尝试了isMemberOfClass:方法,它产生了相同的结果.任何人都可以解释为什么会这样吗?
编辑:所以在阅读了Nick Weaver发布的文章后,我意识到我将我的应用程序的源文件包含在测试包的编译源构建阶段.这在日志中也表示类似于以下语句:
Class MyViewController is implemented in both /Users/jdoe/Library/Application Support/iPhone Simulator/4.3.2/Applications/670A077A-BAD8-4FA6-945A-851F33114CF5/MyApp.app/MyApp and /Users/jdoe/Library/Developer/Xcode/DerivedData/MyApp-drxyfejeattjwgantzesgensnlnx/Build/Products/Debug-iphonesimulator/MyAppTests.octest/MyAppTests. One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)
但是,当我从测试包的编译源构建阶段中删除源文件时,我会得到一个链接器错误,如下所示:
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_MyViewController", referenced from:
objc-class-ref in _MyViewControllerTests.o
(maybe you meant: _OBJC_CLASS_$__MyViewControllerTests)
Run Code Online (Sandbox Code Playgroud) 这是项目和目标的图像
这两个有什么区别?
为什么两个都给了?

项目的形象..
目标的图像..
我有一个带有2个目标的Xcode 4项目,一个用于iPhone,另一个用于iPad.如果我点击iPad目标并尝试转到Build Settings Xcode 4崩溃:
遇到多个断言.第一个断言是:/SourceCache/IDEXcode3ProjectSupport/IDEXcode3ProjectSupport-269/Xcode3Sources/XcodeIDE/Frameworks/DevToolsBase/pbxcore/FileTypes/../PBXFileType.m:594中的ASSERTION FAILURE:文件名应该是非空字符串,但它是零
显然pbxproj文件在某处有一个错误的引用 - 可能是由于我被git强制执行的许多手动合并引起的.有没有办法清理pbxproj文件,以便它再次正常工作或告诉哪一行导致问题?我真的真的不喜欢必须从头创建项目.
我试图弄清楚如何在我的Xcode 4项目中自动增加Bundle版本号(对于ad-hoc和发布版本).我发现一些在线脚本声称可以做到这一点,但我不确定是否将它们放在"预执行"或"后动作"中.我也不确定我应该在plist中放置什么价值; 一个数字,然后脚本将更改或变量?
到目前为止我尝试的所有选项似乎都没有用,所以任何帮助都会受到高度赞赏.
以下是我尝试使用的最新脚本:
conf=${CONFIGURATION}
arch=${ARCHS:0:4}
# Only increase the build number on Device and AdHoc/AppStore build
if [ $conf != "Debug" ] && [ $conf != "Release" ] && [ $arch != "i386" ]
then
buildPlist=${INFOPLIST_FILE}
buildVersion=$(/usr/libexec/PlistBuddy -c "Print CFBuildVersion" $buildPlist)
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBuildNumber" $buildPlist)
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBuildNumber $buildNumber" $buildPlist
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildVersion.$buildNumber" $buildPlist
/usr/libexec/PlistBuddy -c "Set :CFBundleShortVersionString $buildVersion.$buildNumber" $buildPlist
fi
Run Code Online (Sandbox Code Playgroud) 在配置文件中,我将我的应用程序ID设置为com.mycompany.lowercaseappname,但在Xcode 4中,捆绑包标识符自动配置为使用my ${PRODUCT_NAME},大写(我希望用户在应用程序图标下看到它大写).这是正常的还是我需要在Xcode中手动更改包ID以小写?
xcode4 ×10
xcode ×6
ios ×4
objective-c ×4
iphone ×2
app-store ×1
assembla ×1
build ×1
cocoa ×1
cocoa-touch ×1
ipad ×1
localization ×1
svn ×1
unit-testing ×1