我是第一次上传二进制文件.iTunes Connect问我:
出口法律要求对包含加密的产品进行适当的出口授权.
不遵守规定可能会导致严厉的处罚.
更多信息,请点击这里.
您的产品是否包含加密?
我用https://
,但只用NSURLConnection
和UIWebView
.
我读到这个是我的应用程序没有"包含加密",但我想知道这是否在任何地方拼写."严厉处罚"听起来并不令人愉快,所以"我认为这是对的"有点粗略......权威的答案会更好.
谢谢.
A NSInteger
在32位平台上为32位,在64位平台上为64位.是否有一个NSLog
总是匹配大小的说明符NSInteger
?
建立
GCC_WARN_TYPECHECK_CALLS_TO_PRINTF
打开这让我有些悲伤:
#import <Foundation/Foundation.h>
int main (int argc, const char * argv[]) {
@autoreleasepool {
NSInteger i = 0;
NSLog(@"%d", i);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
对于32位代码,我需要说明%d
符.但是,如果我使用说明%d
符,我在编译64位时会收到警告,建议我使用%ld
.
如果我使用%ld
匹配64位大小,编译32位代码时,我会收到警告,建议我使用%d
.
如何一次修复这两个警告?是否有我可以使用的说明符?
这也影响[NSString stringWithFormat:]
和[[NSString alloc] initWithFormat:]
.
如何指定xcodebuild
(命令行工具)是否要为模拟器或设备构建?
这就是我想要做的事情:
NSRange r = NSMakeRange(0,5);
id a = [NSMutableArray a];
[a addObject: r]; // but NSRange is not a NSObject *
Run Code Online (Sandbox Code Playgroud)
使用布尔值,我会使用这样的代码:
[a addObject: [NSNumber numberWithBool: YES]];
Run Code Online (Sandbox Code Playgroud)
或者用整数:
[a addObject: [NSNumber numberWithInteger: 3]];
Run Code Online (Sandbox Code Playgroud)
那么什么是等同于NSRange
?我真的不想做的是创建我自己的子类NSObject
来完成这个.当然苹果已经提供了一种方式吗?
UIAlertSheet的构造函数将otherButtonTitles参数作为varg列表.我想指定NSArray中的其他按钮标题.这可能吗?
即我必须这样做:
id alert = [[UIActionSheet alloc] initWithTitle: titleString
delegate: self
cancelButtonTitle: cancelString
destructiveButtonTitle: nil
otherButtonTitles: button1Title, button2Title, nil];
Run Code Online (Sandbox Code Playgroud)
但由于我在运行时生成可用按钮列表,我真的想要这样的东西:
id alert = [[UIActionSheet alloc] initWithTitle: titleString
delegate: self
cancelButtonTitle: cancelString
destructiveButtonTitle: nil
otherButtonTitles: otherButtonTitles];
Run Code Online (Sandbox Code Playgroud)
现在,我想我需要单独拨打一个initWithTitle:
项目,2个项目和3个项目.像这样:
if ( [titles count] == 1 ) {
alert = [[UIActionSheet alloc] initWithTitle: titleString
delegate: self
cancelButtonTitle: cancelString
destructiveButtonTitle: nil
otherButtonTitles: [titles objectAtIndex: 0], nil];
} else if ( [titles count] == 2) {
alert = [[UIActionSheet alloc] initWithTitle: titleString
delegate: self …
Run Code Online (Sandbox Code Playgroud) 嗨,我有一个故事板,能够在单击表格单元格时显示详细视图.我想添加额外的功能,以便根据我点击的单元格显示不同的视图控制器.我尝试从同一个单元格拖动两个segue但它不允许它.
我的想法是,我将从单元格中有两个segue,每个指向不同的视图,然后调用所需的segue:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
NSInteger row = indexPath.row;
NSLog(@"Selected Item :-) %@",[NSString stringWithFormat:@"%@",[myData objectAtIndex:row]]);
if(row %2 ==0){
NSLog(@"Even");
[self performSegueWithIdentifier:@"ShowSecondIndex" sender:self];
}else{
[self performSegueWithIdentifier:@"ShowSelectedMovie" sender:self];
NSLog(@"Odd");
}
}
Run Code Online (Sandbox Code Playgroud)
然后我会在prepareForSegue中处理segue
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
NSLog(@"Prepare For Segue ID:%@",[segue identifier]);
if([[segue identifier] isEqualToString:@"ShowSelectedMovie"]){
Tab2_ItemViewController *vc = [segue destinationViewController];
NSInteger selectedIndex = [[self.tableView indexPathForSelectedRow] row];
NSLog(@"Selected Index: %d",selectedIndex);
[vc setSelectedItem: [NSString stringWithFormat:@"%@",[myData objectAtIndex:selectedIndex]]];
NSLog(@"String Value: %@",[NSString stringWithFormat:@"%@",[myData objectAtIndex:selectedIndex]]);
[vc setSelectedIndex:selectedIndex];
}else if([[segue identifier] isEqualToString:@"ShowSecondIndex"]){
NSLog(@"Viewing Second Index");
} …
Run Code Online (Sandbox Code Playgroud) 在登录失败时,我宁愿避免显示警报,它太短暂了.显示警报然后在登录屏幕上的某处显示文本似乎是重复.
因此,当用户输入错误的用户ID和密码(如Mac登录屏幕)时,我希望以图形方式摇动我的登录视图.
任何人都知道是否有办法解决这个问题,或者对我可以使用的其他效果有任何建议吗?
出于这个目的,我将假装原始网址http://host/form
和新网址https://host/form
.(请注意,在我发送之前,这两个URL都是安全的.但是,非安全到安全似乎是一个方便的重定向来测试它.)
我正在使用NSURLConnection
重定向我来访问Web API .基本上,我想把我刚刚提交的所有内容都http://hostaform
重新提交给https://host/form
.我认为这将是默认行为,但看起来身体在重定向中丢失了.
所以我认为我需要处理代表的connection:willSendRequest:redirectResponse:
事件NSURLConnection
并重新附加身体.问题是这个消息看起来很糟糕.我可以在这个方法上找到的唯一信息是NSURLConnection类参考,这不是很有用.除其他外,它包括:
redirectResponse:导致重定向的URL响应.如果由于在重定向处理中涉及委托而未发送此方法,则可能为零.
我不确定这意味着什么.结合初始willSendRequest:
调用,我认为这是willSendRequest:
在重定向响应之前,即使是我的初始请求也会发送的方法.那是对的吗?
所以我已经为我的委托添加了代码以保留正常的时间,并添加了这个willSendRequest:
处理程序:
- (NSURLRequest *)connection: (NSURLConnection *)inConnection
willSendRequest: (NSURLRequest *)inRequest
redirectResponse: (NSURLResponse *)inRedirectResponse;
{
if (inRedirectResponse) {
NSMutableURLRequest *r = [[inRequest mutableCopy] autorelease];
[r setURL: [inRedirectResponse URL]];
[r setHTTPBody: body];
return r;
} else {
return inRequest;
}
}
Run Code Online (Sandbox Code Playgroud)
它不起作用.但我甚至不确定这是否是正确的方法.这对我来说似乎过于苛刻.我该怎么办?这记录在哪里?到目前为止,我发现Apple的文档或使用Google没有任何用处.
(这是在iPhone上,虽然这些类似乎没有太大区别.)
我已将UITableView
行高在Interface Builder中设置为54.0.我有一个UISearchDisplayController
观点.当用户点击其中的搜索栏时,表格会正确调整大小.但是,当他们开始键入(并且实际进行搜索)时,行高度会降低.在搜索点击取消之前,它会出错.
我在Apple的网站上找不到关于此行为的文档.
我已尝试在UISearchDisplayDelegate
委托调用中设置行高.这可能是正确的方法,但我不知道细节,也无法使其发挥作用.
我也尝试过实施- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
.这很有效,但是我在这个列表中有数以千计的条目,并且无法获得性能.
解决这个问题的正确方法是什么?
我有一个MKMapView
.有时在我的视图控制器被解雇后,我会得到一个EXC_BAD_ACCESS
.
我打开了NSSZombies
,它看起来像是MKMapView
代表 - 我的视图控制器!- 正在被调用,尽管释放了子类MKMapView
和UIViewController
子类.我已经检查了,我的记忆管理是正确的.
这是怎么回事?
iphone ×8
cocoa ×3
cocoa-touch ×2
ios ×2
32bit-64bit ×1
app-store ×1
encryption ×1
mapkit ×1
mkmapview ×1
nsarray ×1
nsinteger ×1
nslog ×1
nsobject ×1
nsrange ×1
objective-c ×1
redirect ×1
segue ×1
storyboard ×1
uialertsheet ×1
uitableview ×1
xcode ×1
xcodebuild ×1