标签: xcode6

在iOS 8共享扩展程序和主应用程序之间共享数据

最近,我一直在制作一个简单的iOS 8共享扩展来了解系统的工作原理.正如Apple在其App Extension编程指南中所述:

默认情况下,您的应用及其扩展程序无法直接访问彼此的容器.

这意味着扩展程序和包含应用程序不共享数据.但在同一页面上,Apple带来了一个解决方案:

如果您希望包含应用及其扩展能够共享数据,请使用Xcode或Developer门户为应用及其扩展启用应用组.接下来,在门户中注册应用程序组,并指定要在包含的应用程序中使用的应用程序组.

然后,可以使用NSUserDefaults在包含应用程序和扩展程序之间共享数据.这正是我想做的.但由于某种原因,它不起作用.

在同一页面中,Apple建议使用标准默认值:

var defaults = NSUserDefaults.standardUserDefaults()
Run Code Online (Sandbox Code Playgroud)

在WWDC演示文稿(217)中,他们提出了一个共同的方案:

var defaults = NSUserDefaults(suiteName: kDefaultsPackage)
Run Code Online (Sandbox Code Playgroud)

此外,我为包含应用目标和扩展目标的应用组启用了相同的应用组名称: XCode目标功能,应用程序组

但所有这些设置都是无用的.我无法从扩展程序中检索存储在包含应用程序中的数据.就好像两个目标正在使用完全不同的NSUserDefaults存储.

所以,

  1. 这种方法有解决方案吗?
  2. 如何在包含应用和共享扩展之间共享简单数据?数据只是API的用户凭据.

swift xcode6 ios8 ios-app-extension

63
推荐指数
4
解决办法
4万
查看次数

Xcode 6错误:"嵌入式二进制文件包标识符不以父应用程序的包标识符为前缀."

我正在尝试构建一个扩展项目,Xcode不断抛出主题中的错误.

Xcode日志错误

不用一天,扩展程序的包ID 以app的包ID 前缀.

产品名称: ro.chitza.TodayPics.$(TARGET_NAME:rfc1034identifier

扩展束id

我已经尝试清理构建文件夹并重建,没有运气.有趣的是,整个项目已经构建了几次,但在一些代码和UI更改后,它开始失败.即使我创建了新项目,在大约5-6个构建之后也会发生同样的事情.

有没有人遇到这个错误?有关解决方案或解决方法的任何提示吗?

xcode6 ios8 ios-app-extension

62
推荐指数
8
解决办法
5万
查看次数

Swift:使用元组的单个switch-case中的多个间隔

有一个像这样的代码:

switch (indexPath.section, indexPath.row) {
    case (0, 1...5): println("in range")
    default: println("not at all")
}
Run Code Online (Sandbox Code Playgroud)

问题是我可以在第二元组值中使用多个区间吗?

对于非元组切换,它可以很容易地完成

switch indexPath.section {
case 0:
    switch indexPath.row {
    case 1...5, 8...10, 30...33: println("in range")
    default: println("not at all")
    }
default: println("wrong section \(indexPath.section)")
}
Run Code Online (Sandbox Code Playgroud)

我应该使用哪个分隔符来分隔元组内部的间隔,或者它不适用于元组开关,我必须在开关内使用开关?谢谢!

tuples switch-statement ios swift xcode6

62
推荐指数
1
解决办法
4万
查看次数

Xcode试图找到或生成匹配的签名资产,但未能这样做

因此,我正在尝试使用Mavericks上的Xcode 6.0.1使用现有的配置文件(之前有效)创建临时构建,但在尝试导出此存档后,我不断收到以下错误:

我是否需要重新创建证书和配置文件,还是有更好的解决方案?谢谢!

xcode adhoc ios provisioning-profile xcode6

62
推荐指数
3
解决办法
4万
查看次数

Xcode - 如何在Xcode 6.1中删除目标?

我找不到曾经存在于Xcode 5中的小盒子,它允许我播放/删除目标.

有谁知道如何在Xcode 6.1中做到这一点?

xcode6

62
推荐指数
1
解决办法
3万
查看次数

删除iOS 8 UITableView for XCode 6 iPhone模拟器上的SeparatorInset

我在XCode 6 GM 上UITableViewiPhone 6模拟器(iOS 8)找到了一个奇怪的白色空间.我试图设置SeparatorInset故事板和代码,但白色空间直到那里.

以下代码适用于iOS 7,但不适用于iOS 8(iPhone 6模拟器).

-(void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath{
    if ([tableView respondsToSelector:@selector(setSeparatorInset:)]) {
        [tableView setSeparatorInset:UIEdgeInsetsZero];
    }
}
Run Code Online (Sandbox Code Playgroud)

我附上下面的屏幕截图:

桌面视图上的iPhone 6模拟器奇怪的白色空间

我顺便使用AutoLayout.我希望有人可以告诉我一种方法来消除奇怪的白色空间TableView.

iphone uitableview ios xcode6 ios8

61
推荐指数
8
解决办法
4万
查看次数

如何在Swift中设置UILabel的textColor

当我尝试使用代码将UILabel的颜色设置为另一个UILabel的颜色时

myLabel.textColor = otherLabel.textColor
Run Code Online (Sandbox Code Playgroud)

它不会改变颜色.但是,当我使用此代码时,

myLabel.textColor = UIColor.redColor()
Run Code Online (Sandbox Code Playgroud)

它正确地改变了颜色.第一线有什么问题?

iphone textcolor uilabel swift xcode6

61
推荐指数
4
解决办法
13万
查看次数

重命名Xcode 6项目后出错:"链接器命令失败,退出代码为1(使用-v查看调用)"

所以在我创建一个Xcode 6项目之后,即使我没有在其中编写任何代码,如果我尝试通过双击导航器左上角的粗体程序标题来重命名它,然后确认我想要检查items的名称已更改,当我尝试运行它时出现以下错误:"clang:error:链接器命令失败,退出代码为1(使用-v查看调用)"

我甚至尝试使用find工具查看所有名为previous name的内容,包括info.plist(我认为是问题)并将它们更改为新名称.通过手动重命名info.plist我得到一个错误,说不存在.

我究竟做错了什么?

xcode ios swift xcode6

61
推荐指数
3
解决办法
2万
查看次数

Interface Builder - 无法从路径加载可设计项(null)

我有一些我创建的自定义控件,我在新项目中使用它们.但是,我一直在界面生成器中遇到错误:

Failed to update auto layout status: Failed to load designables from path (null)
Run Code Online (Sandbox Code Playgroud)

要么

Failed to render instance of <control>: Failed to load designables from path (null)
Run Code Online (Sandbox Code Playgroud)

我已经测试了另一个项目中的控件,它们似乎在界面构建器中正确呈现,但我无法让它们在当前项目中工作.导致此错误的原因以及如何解决?

提前致谢...

custom-controls interface-builder ios xcode6 ibdesignable

61
推荐指数
4
解决办法
2万
查看次数

在Swift中按回车键切换文本字段

我正在设计一个iOS应用程序,我希望在我的iPhone中按下返回键时,它会将我引导到下一个文本字段.

我发现了几个类似的问题,并且有很好的答案,但它们恰好都在Objective-C中,我正在寻找Swift代码,现在这就是我现在所拥有的:

func textFieldShouldReturn(emaillabel: UITextField) -> Bool{
    return true
}
Run Code Online (Sandbox Code Playgroud)

它被放置在连接的文件和包含文本字段的UIView的控制器中,但我不确定这是不是正确的地方.

我基本上是新手,所以解释每一个小步骤,否则我会设法弄乱它.此外,我正在使用最新版本的Xcode,如果这有任何区别.

好的,所以我试了这个并得到了这个错误:
//could not find an overload for '!=' that accepts the supplied arguments

func textFieldShouldReturn(textField: UITextField) -> Bool {
    let nextTag: NSInteger = textField.tag + 1
    // Try to find next responder
    let nextResponder: UIResponder = textField.superview!.viewWithTag(nextTag)!
    if (nextResponder != nil) {
        // could not find an overload for '!=' that accepts the supplied arguments

        // Found next responder, so set it.
        nextResponder.becomeFirstResponder()
    } else {
        // Not …
Run Code Online (Sandbox Code Playgroud)

iphone ios swift xcode6

60
推荐指数
6
解决办法
6万
查看次数