我已将一个项目分成两个版本,并为每个版本分配一个plist
文件.一切正常,但我一直得到这个构建警告:
警告:复制包资源构建阶段包含此目标的Info.plist文件"MyApp-Info.plist"
当我尝试构建时,我得到了这个MyApp
.为第二个目标构建会产生相同的错误(SecondTarget-Info.plist
在警告中).我不确定为什么它是一个警告,因为我希望构建包含该.plist
文件.每个.plist
文件都有一个目标成员资格(用于自己的构建).
这个警告意味着什么?有没有办法让它消失?
我有一个苹果我用来开发iPhone应用程序使用的XCode 4,我现在有一个新的Macintosh用新安装的...一切.
当打开在旧Mac上构建的Xcode项目时,我无法在配置为开发iPhone的iPhone上运行该应用程序.
Xcode 4组织者在我的配置文件中告诉我"找不到有效的签名身份".
我想这与我之前在旧Mac上生成的.certSigningRequest文件有关(我有一个该文件的备份),但是我在新Mac上有什么用呢?
另一个奇怪的事情是,即使在刷新之后和输入我的配置门户登录名和密码之后,我也没有在组织者中看到我现有的5个配置文件(在Apple配置门户上定义):
在iOS 6之前,打开这样的URL会打开(Google)地图应用:
NSURL *url = [NSURL URLWithString:@"http://maps.google.com/?q=New+York"];
[[UIApplication sharedApplication] openURL:url];
Run Code Online (Sandbox Code Playgroud)
现在有了新的Apple Maps实现,这只会将Mobile Safari打开到Google Maps.如何在iOS 6中实现相同的行为?如何以编程方式打开地图应用并将其指向特定位置/地址/搜索/其他?
我希望for循环向firebase发送一堆网络请求,然后在方法完成执行后将数据传递给新的视图控制器.这是我的代码:
var datesArray = [String: AnyObject]()
for key in locationsArray {
let ref = Firebase(url: "http://myfirebase.com/" + "\(key.0)")
ref.observeSingleEventOfType(.Value, withBlock: { snapshot in
datesArray["\(key.0)"] = snapshot.value
})
}
// Segue to new view controller here and pass datesArray once it is complete
Run Code Online (Sandbox Code Playgroud)
我有几个问题.首先,我如何等待for循环完成并且所有网络请求都已完成?我无法修改observeSingleEventOfType函数,它是firebase SDK的一部分.另外,我是否会通过尝试从for循环的不同迭代中访问datesArray来创建某种竞争条件(希望这是有道理的)?我一直在阅读有关GCD和NSOperation的内容,但我有点失落,因为这是我构建的第一个应用程序.
注意:Locations数组是一个包含我需要在firebase中访问的键的数组.此外,重要的是异步触发网络请求.我只想等到所有异步请求完成后再将datesArray传递给下一个视图控制器.
我有一个UIBarButtonItem打开一个动作表,为用户提供有关做什么的选择.除非我尝试点击"取消"按钮,否则一切都按预期工作.按钮的目标似乎已从应该的位置向上移动.我只能通过单击"取消"和"确定"按钮中间的某个位置来激活它.
我已经尝试过在其他应用程序中的动作表,它们工作正常,所以它不仅仅是我的大拇指.操作表在UIViewController中打开
- (void)showOpenOptions
{
UIActionSheet *sheet = [[UIActionSheet alloc]
initWithTitle:NSLocalizedString(@"Open link in external application?", @"Open in external application")
delegate:self
cancelButtonTitle:NSLocalizedString(@"Cancel", @"Cancel")
destructiveButtonTitle:NSLocalizedString(@"Open Link", @"Open Link")
otherButtonTitles:nil];
[sheet showInView:self.view];
[sheet release];
}
Run Code Online (Sandbox Code Playgroud) 我有一个UITableViewController
子节有部分.这些部分显示默认样式(没有圆角).如何将TableView样式设置为在代码中分组?我没有使用Interface Builder,所以我需要类似的东西
[self.tableView setGroupedStyle]
Run Code Online (Sandbox Code Playgroud)
我在Stack Overflow上搜索,但无法得出答案.
是否可以重命名/重构类文件并让它重命名磁盘上的实际文件?如果是这样,我该怎么做?
如何将a的标题设置UIButton
为左对齐,如何在a中显示多行文本UIButton
?
在iOS 5中,NSManagedObjectContext
有几种新方法,performBlock:
和performBlockAndWait:
.实际使用的这些方法是什么?它们在旧版本中取代了什么?什么样的街区应该传递给他们?我该如何决定使用哪个?如果有人有一些使用它们的例子,那就太好了.
我搜索过,但令人惊讶的是找不到答案.
我有很长一段路NSString
要想缩短.我希望最大长度大约为20个字符.我在某处读到了最好的解决方案substringWithRange
.这是截断字符串的最佳方法吗?
NSRange stringRange = {0,20};
NSString *myString = @"This is a string, it's a very long string, it's a very long string indeed";
NSString *shortString = [myString substringWithRange:stringRange];
Run Code Online (Sandbox Code Playgroud)
它似乎有点微妙(如果字符串短于最大长度则崩溃).我也不确定它是否是Unicode安全的.有没有更好的方法呢?有没有人有这个很好的类别?
ios ×6
iphone ×6
objective-c ×5
cocoa-touch ×3
xcode ×3
asynchronous ×1
blocking ×1
build ×1
certificate ×1
cocoa ×1
core-data ×1
ios5 ×1
ios6 ×1
keychain ×1
mapkit ×1
nsoperation ×1
refactoring ×1
renaming ×1
string ×1
swift ×1
target ×1
uibutton ×1
uikit ×1
uitableview ×1