由于iOS 4.3 SDK不再处于测试阶段,我相信我可以在这里谈论它.
我UIApplicationExitsOnSuspend在我的应用程序中使用flag来每次重新启动应用程序(而不是恢复).现在,它之前运行得很好,但是现在,我的应用程序在随机(启动/恢复)实例上崩溃了,而且我没有从崩溃日志中得到任何结果.我现在没有任何理论.任何人?
调试控制台:
/SourceCache/ProtocolBuffer/ProtocolBuffer-51.2/Runtime/PBRequester.m:684 server returned error: 503
Run Code Online (Sandbox Code Playgroud)
安慰:
Mar 14 12:06:21 unknown kernel[0] <Debug>: launchd[444] Builtin profile: container (sandbox)
Mar 14 12:06:21 unknown kernel[0] <Debug>: launchd[444] Container: /private/var/mobile/Applications/FCE3BCD3-EA2F-4E60-9C37-08189F19AA67 [69] (sandbox)
Mar 14 12:06:24 unknown MobileStorageMounter[443] <Notice>: (0x3ea6148c) idle_timer_callback: Exiting after idle timeout
Mar 14 12:06:31 unknown kernel[0] <Debug>: launchd[445] Builtin profile: container (sandbox)
Mar 14 12:06:31 unknown kernel[0] <Debug>: launchd[445] Container: /private/var/mobile/Applications/FCE3BCD3-EA2F-4E60-9C37-08189F19AA67 [69] (sandbox)
Mar 14 12:06:37 unknown kernel[0] <Debug>: launchd[447] Builtin profile: container (sandbox) …Run Code Online (Sandbox Code Playgroud) 我按照使用LLVM/Clang静态分析器查找内存泄漏的步骤,但我无法在我的项目上运行静态分析器.
当我尝试运行xcodebuild我的项目时(1.打开终端,2.直接转到Project,3.> xcodebuild),我收到此错误:
=== BUILDING NATIVE TARGET XProject OF PROJECT XProject WITH THE DEFAULT
CONFIGURATION (Release) ===
Checking Dependencies... CodeSign
error: no certificate found in
keychain for code signing identity
'iPhone Developer'
\** BUILD FAILED \**
Run Code Online (Sandbox Code Playgroud)
如何在我的代码上运行此工具? - 我正在用模拟器测试.谢谢.
我无法将Facebook Connect添加到我的iPhone项目中.这是目录结构:
-> MyProject
----> MyProject.xcodeproj
----> fbconnect-iphone
----> build/
----> <other files and folders>
Run Code Online (Sandbox Code Playgroud)
遵医嘱,
遵医嘱,
我用"Build"按钮检查到目前为止一切是否正常.它不是/不是.它给了我16个警告和101个错误.
我在这里失踪了什么?我正在使用iPhone SDK 3.0.Xcode 3.1.3.
问候.
我们不能在不提供NSSortDescriptor的情况下使用NSFetchRequest.我想要做的就是获取结果并按照创建顺序显示它们.有没有内置方法可以做到这一点?还是我必须创建一个新的"自动增量"字段?(在我看来,这与CoreData所代表的一切相悖).
通过ttmodule.py脚本文件,可以简化项目中的Three20.我最初计划在我的项目中使用它,但我不是,所以我想通过摆脱它来清理我的项目.如何从我的项目中删除它?
NSUInteger index = [self.objects indexOfObject:obj];
if (index == NSNotFound) {
// Success! Note: NSNotFound internally uses NSIntegerMax
}
if (index == NSUIntegerMax) {
// Fails!
}
Run Code Online (Sandbox Code Playgroud)
为什么?我想由于indexOfObject而得到一个无符号值.所以,当然,我假设如果找不到该对象,它将返回NSUIntegerMax而不是NSIntegerMax.这是一个错误,还是对这种行为有合理的解释.
有些应用程序可以在iOS和Android(包括手机和平板电脑)上运行,并且可以设置跨不同设备同步数据.
当applicationDidEnterBackground:触发器,我暂停其使用播放音频AVAudioPlayer:
[self.avPlayer pause];
Run Code Online (Sandbox Code Playgroud)
现在,当applicationWillEnterForeground:触发时,音频开始自动播放!由于我没有启动音频,因此用户界面未更新,并且显示音频仍处于暂停状态.
这是怎么回事?这种情况发生在iOS 6.x,iPad 2上.这个问题不能在运行iOS 5.x的旧iPad上重现.
这是我设置的方式AVAudioSession:
// Setup the audio session
BOOL succeeded = NO;
NSError *sessionError = nil;
AVAudioSession *session = [AVAudioSession sharedInstance];
[session setDelegate:self];
if ([session respondsToSelector:@selector(setPreferredSampleRate:error:)]) {
succeeded = [session setPreferredSampleRate:128000.0f error:&sessionError];
} else {
succeeded = [session setPreferredHardwareSampleRate:128000.0f error:&sessionError];
}
succeeded = [session setCategory:AVAudioSessionCategorySoloAmbient error:&sessionError];
succeeded = [session setActive:YES error:&sessionError];
Run Code Online (Sandbox Code Playgroud) 我正在使用以下方法来获取收据数据:
// Use this method instead of accessing transaction.transactionReceipt directly!
- (NSData *)appStoreReceiptForPaymentTransaction:(SKPaymentTransaction *)transaction {
NSData *receiptData = nil;
// This is just a quick/dummy implementation!
if (kiOS7) {
NSURL *receiptFileURL = [[NSBundle mainBundle] appStoreReceiptURL];
receiptData = [NSData dataWithContentsOfURL:receiptFileURL]; // Returns valid NSData object
} else {
receiptData = transaction.transactionReceipt; // Returns valid NSData object
}
return receiptData;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用以下代码来读取JSON收据:
NSData *receipt = [self appStoreReceiptForPaymentTransaction:transaction];
NSError *error = nil;
NSDictionary *receiptDict = [receipt dictionaryFromPlistData:&error];
NSString *transactionPurchaseInfo = [receiptDict objectForKey:@"purchase-info"];
NSString …Run Code Online (Sandbox Code Playgroud) 我们如何确保将注释视图放置在地图上的指定顺序/位置?
我有一个案例,一个地址可以有多个注释(在彼此之上).例如,Pin编号1,2,3和4放置在相同的地理位置.当地图加载时,我希望Pin#1位于顶部,但是无法确保Pin#1始终可见(在顶部).
环顾四周,我找到了以下解决方案,但这些都没有对我有用.
1).按照您希望的顺序将注释添加到地图.
根据我的经验,它不起作用!根据我的经验,使用addAnnotations:或逐个添加注释一起添加注释会产生相同的结果.注释视图的顺序仍然是随机的.
[self.mapView addAnnotations:allAnnotations];
Run Code Online (Sandbox Code Playgroud)
生成相同的结果:
for (MyCustomAnnotation *annotation in allAnnotations) {
[self.mapView addAnnotation:annotation];
}
Run Code Online (Sandbox Code Playgroud)
2).使用bringSubviewToFront或sendSubviewToBack指定所有注释的顺序.
根据我的经验,它不起作用!例如,以下代码不会生成所需的结果:
- (void)mapView:(MKMapView *)mapView didAddAnnotationViews:(NSArray *)views {
// .tag associated with each view specifies the order/hierarchy of annotation views
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"tag" ascending:YES];
NSArray *orderedAnnotationViews = [views sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
for (MKAnnotationView *annotationView in orderedAnnotationViews) {
[mapView sendSubviewToBack:annotationView];
}
}
Run Code Online (Sandbox Code Playgroud)
3).使用annotationView.layer.zPosition指定所有注释的确切顺序.
考虑4个引脚重叠的情况,例如引脚1,2,3和4.这种方法的问题是,点击特定的注释引脚或以编程方式选择它不会将它带到前面.的zPosition是绝对的.您可以在每次选择引脚时更改它,但这并不理想.
zPosition属性指定图层位置的z轴分量.zPosition旨在用于设置图层相对于其兄弟图层的视觉位置.它不应该用于指定图层兄弟的顺序,而是重新排序子图层数组中的图层.
思考?
iphone ×5
ios ×4
android ×1
arrays ×1
clang ×1
core-data ×1
crash ×1
facebook ×1
fbconnect ×1
icloud ×1
ios4 ×1
memory-leaks ×1
mkannotation ×1
mkmapview ×1
nsinteger ×1
nsuinteger ×1
objective-c ×1
receipt ×1
sync ×1
three20 ×1