我在Xcode 5中打开了错误的项目版本,现在Xcode 4.6在尝试打开该项目时崩溃了.我只在Xcode 5中更改了一个xib文件,并使用Xcode 5在IB中打开了xib,在Interface Builder Document下,更改了从Xcode 5.0打开到Xcode 4.6.有什么想法为什么4.6在打开项目时崩溃?
编辑:
我制作了项目文件夹的副本,现在,即使所有文件都在旧项目文件夹中,当我打开项目时,它们都没有显示在xcode 4.6或5中.我的图像,类文件或任何东西都没有显示在xcode中,即使它们都在项目文件夹中.
我正在尝试将app名称用作NavController标题,但无论我做什么,我都无法获得CFBundleDisplayName值.它返回'null'.
这是我正在使用的代码
[NSBundle mainBundle] infoDictionary][@"CFBundleDisplayName"]
Run Code Online (Sandbox Code Playgroud)
已检查的捆绑包=只有一个.Xcode5/dev目标是iOS5.我没有检查过设备.使用模拟器.
谢谢!
我将Jenkins与Xcode插件配置为通过将测试构建操作添加到Custom xcodebuild参数设置来运行单元测试.有关让Jenkins使用Xcode 5运行单元测试的更多信息,请参阅此问题.
现在我已经运行了,它似乎将NSLog语句的控制台输出或最终** TEST SUCCEEDED **消息与测试结果混合在一起,因此偶尔会将解码器绊倒,将单元测试结果转换为Jenkins所需的JUnit格式.
例如,Jenkins日志显示如下输出:
Test Case '-[Redacted_Conversion_Tests testConvertTo_ShouldSetamount_WhenamountIsNotZero]' passed (** TEST SUCCEEDED **
0.000 seconds).
Test Case '-[Redacted_Conversion_Tests testConvertTo_ShouldSetamount_WhenamountIsZero]' started.
Run Code Online (Sandbox Code Playgroud)
什么时候它应该是:
Test Case '-[Redacted_Conversion_Tests testConvertTo_ShouldSetamount_WhenamountIsNotZero]' passed (0.000 seconds).
Test Case '-[Redacted_Conversion_Tests testConvertTo_ShouldSetamount_WhenamountIsZero]' started.
** TEST SUCCEEDED **
Run Code Online (Sandbox Code Playgroud)
我进一步调查了这一点,并把詹金斯拉出了画面.如果我在命令提示符下直接运行xcodebuild命令:
xcodebuild \
-workspace project.xcworkspace \
-scheme Tests \
-configuration Release \
-sdk iphonesimulator7.0 \
-destination "platform=iOS Simulator,name=iPhone Retina (4-inch),OS=latest" \
test
Run Code Online (Sandbox Code Playgroud)
输出总是很好,有序.
但是,如果我将输出传递给另一个程序或重定向到文件:
xcodebuild \
-workspace project.xcworkspace \
-scheme Tests \
-configuration Release \ …Run Code Online (Sandbox Code Playgroud) 当我在xcode 5中创建一个新项目选择选项(单视图应用程序)时,它会自动添加Main.storyboard,因为我们在之前版本的xcode中选择了没有选择.Xib文件的选项.请有人解释一下
我刚刚安装了Xcode5和iOS模拟器7.0 dvorak键盘布局无法正常工作.当我输入时,它显示为QWERTY布局.我尝试在我的mac中来回切换布局,但它没有帮助.
我试图std::cout在Xcode 5 C++项目中调用lldb.我的项目有一个#include <iostream>线(和我核实,编译std::cout命令正常工作),但它并不能有一个using namespace std;线.
当我停在lldb的断点时,我无法打电话std::cout:
(lldb) expr std::cout << "test"
error: no member named 'cout' in namespace 'std'
error: 1 errors parsing expression
(lldb) expr cout << "test"
error: use of undeclared identifier 'cout'
error: 1 errors parsing expression
Run Code Online (Sandbox Code Playgroud)
对于那些感兴趣的人,我试图std::cout用来打印OpenCV Mat对象.但这个细节可能并不重要.
我的lldb版本是lldb-300.2.53.
根据要求,这是(普通)代码:
#include <iostream>
int main(int argc, const char * argv[])
{
std::cout << "Hello World" << std::endl;
return 0; …Run Code Online (Sandbox Code Playgroud) 我使用最新的cocoapods版本集成了GAI.
当我构建Debug配置时,一切运行都很好.但是,只要我尝试归档应用程序,编译器就会失败,并显示以下消息:
Undefined symbols for architecture armv7:
"_OBJC_CLASS_$_GAIDictionaryBuilder", referenced from:
objc-class-ref in libWLCore.a(WLTrackingHelper.o)
"_OBJC_CLASS_$_GAI", referenced from:
objc-class-ref in libWLCore.a(WLTrackingHelper.o)
"_kGAIScreenName", referenced from:
+[WLTrackingHelper trackView:] in libWLCore.a(WLTrackingHelper.o)
+[WLTrackingHelper resetView] in libWLCore.a(WLTrackingHelper.o)
"_kGAIAnonymizeIp", referenced from:
+[WLTrackingHelper prepareDefaultTracker:withAnonymization:withUnCaughtExceptions:withDebug:] in libWLCore.a(WLTrackingHelper.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
由于它在Debug中工作,我试图弄清楚Debug和Release之间的配置差异在哪里.我发现Release中的Other链接器标志是空的,而Debug中包含GoogleAnalytics和其他框架和库的标志.
将标志添加到我获得的其他链接器标志的释放配置之后
library not found for -lGoogleAnalyticsServices
Run Code Online (Sandbox Code Playgroud)
之后,我添加了libPods,然后将libPods-GoogleAnalytics添加到Link Binary With Libraries部分,但错误保持不变.
我在这个问题上投入了差不多2天,但我找不到任何解决方案.
我AFNetworking在Objective-C中设置了一个JSON帖子,并使用以下代码将数据发送到服务器:
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
NSDictionary *parameters = @{@"name": deviceName, @"model": modelName, @"pin": pin};
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager.requestSerializer setValue:@"Content-Type" forHTTPHeaderField:@"application/json"];
[manager POST:@"SENSORED_OUT_URL" parameters:parameters
success:^(AFHTTPRequestOperation *operation, id responseObject)
{
NSLog(@"JSON: %@", responseObject);
}
failure:^(AFHTTPRequestOperation *operation, NSError *error)
{
NSLog(@"Error: %@", error);
}];
Run Code Online (Sandbox Code Playgroud)
我通过相同的请求收到信息,并希望将数据发送到 NSString.我该AFNetworking怎么做呢?
我是Objective-C和XCode的新手,在讨论编译语言时,我认为我是精神上的挑战.我不知道链接器如何工作以及每个IDE中的构建设置数量让我感到不舒服只是让我害怕.
我几天前开始学习ObjC,当然我开始使用控制台应用程序项目.到目前为止一切都很好,但我有一个Ruby/Rails背景,这让我想立即了解如何在XCode5中设置最基本的TDD环境.
我使用了这个官方开发文档,但它不够全面.通过试验和错误路径,我只是向项目中添加了一个XCTest目标,然后添加了一个测试用例类,测试我的Fraction类:
#import <XCTest/XCTest.h>
#import "Fraction.h"
@interface FractionTest : XCTestCase
@end
@implementation FractionTest
- (void)setUp
{
[super setUp];
}
- (void)tearDown
{
[super tearDown];
}
- (void)testExample
{
Fraction *fraction = [Fraction new];
}
@end
Run Code Online (Sandbox Code Playgroud)
运行测试时,链接器无法找到引用的符号:

我已经阅读了有关设置Bundle Loaders和Test Host的内容,但没有人真正解释应该设置哪个目标.它们不适合我,我想知道这样一个简单的3档大型"项目"是否需要围绕Build Settings进行调整.
我怎样才能简单地添加一个测试类来测试另一个带有简单断言的类?
xcode5 ×10
ios ×4
objective-c ×3
xcode ×3
linker ×2
unit-testing ×2
afnetworking ×1
c++ ×1
cocoapods ×1
info-plist ×1
ios5 ×1
iphone-5 ×1
json ×1
lldb ×1
pipe ×1
xcodebuild ×1