我有一个包含大量目标的Xcode项目,我希望在Ad-hoc和Debug配置下构建应用程序的设置包,但不包括Release配置.
构建阶段似乎不允许自己以配置为条件(它们显然可以以目标为条件,但是项目中目标数量加倍会使其完全无法使用).
这留下了编写自定义构建规则.我的计划是从所有目标中排除Settings.bundle,并创建一个有条件地将其复制到产品包中的构建规则,但很难找到适用的示例.
我启动的构建规则将Process设置设置为"Source files with names matching:",Settings.bundle作为名称."使用"设置为"自定义脚本:".
我的自定义脚本如下(有一点需要注意我的bash脚本是在货物崇拜级别上):
if [${CONFIGURATION} = 'Debug'] then
cp -r ${INPUT_FILE_PATH} ${DERIVED_FILES_DIR}/.
fi
Run Code Online (Sandbox Code Playgroud)
最后,我${DERIVED_FILES_DIR}/Settings.bundle列出了一个输出文件.
因为我在这里,显然它不起作用.我的第一个问题是,是否有某个地方我可以将构建规则的输出视为执行,以确保1)它实际上正在执行,以及2)我没有在某处出现愚蠢的语法错误.
另外,将输出复制到的正确位置(以环境变量的形式)是什么?
如果没有将UIWebView作为我的nib文件中最后面的图层,我怎样才能将重复的背景图像添加到iPhone应用程序(如分组UITableView背景中的灯芯绒外观)?
我是否需要创建一个与iPhone屏幕大小相同的图像并使用复制和粘贴手动重复它?
我的应用程序有一个详细视图控制器的协议,说明他们必须有一个viewModel属性:
protocol DetailViewController: class {
var viewModel: ViewModel? {get set}
}
Run Code Online (Sandbox Code Playgroud)
我还有一些实现协议的不同类:
class FormViewController: UITableViewController, DetailViewController {
// ...
}
class MapViewController: UIViewController, DetailViewController {
// ...
}
Run Code Online (Sandbox Code Playgroud)
我的主视图控制器需要一个可以设置为UIViewController实现DetailViewController协议的任何子类的属性.
不幸的是我找不到任何关于如何做到这一点的文档.在Objective-C中,它将是微不足道的:
@property (strong, nonatomic) UIViewController<DetailViewController>;
Run Code Online (Sandbox Code Playgroud)
似乎Swift中没有可用的语法来执行此操作.我最接近的是在我的类定义中声明一个泛型:
class MasterViewController<T where T:UIViewController, T:DetailViewController>: UITableViewController {
var detailViewController: T?
// ...
}
Run Code Online (Sandbox Code Playgroud)
但后来我得到一个错误,说"Class'MasterViewController'没有实现其超类的必需成员"
这似乎在Swift中应该像在Objective-C中一样容易,但是我找不到任何可以表明我如何去做的事情.
我正在编写一个基于导航的iPhone应用程序,我希望UIToolBar停靠在我的屏幕底部,在工具栏和导航栏之间滚动UITableView.
我已经看过几个论坛,其中有人建议处理此视图的View Controller应该是标准的UIViewController而不是UITableViewController.除了所有标准的UIViewController覆盖之外,视图控制器还必须实现UITableView委托和数据源方法.除了前面提到的协议之外,我需要在这个视图控制器子类中重新创建什么(如果有的话)内置功能才能使它像UITableViewController一样工作?走这条路,我有什么损失吗?
或者将UITableViewController嵌套在标准的UIViewController中会更好吗?
我正在调试一个位置感知应用程序,并对iOS模拟器感到沮丧.出于某种原因,每次我从Xcode运行我的应用程序时,位置设置(在调试菜单下)都会重置为"无"(来自"自定义位置...").
有谁知道如何防止这种情况?
我正在尝试在Cocoa Touch(iPhone)应用程序中设置UITableViewCell的编辑样式属性.
有关这种情况的示例,请查看"联系人"应用,您可以在其中看到某些单元格左侧的绿色小符号.
Interface Builder中的UITableViewCell检查器具有编辑样式下拉列表,但它似乎没有做任何事情.
同样,有一个名为-setEditingStyle的未记录方法的CodeSense完成:对于UITableViewCell似乎也不起作用.
这是表视图数据源中的设置吗?苹果以外的人有没有这个工作?
有没有办法提出一个模态视图控制器,不包括UITabBarController的标签栏?
具体来说,我想使用UIModalTransitionStylePartialCurl,但保留底部栏,一个iPhone映射应用程序.
我下载了Apple的MyLife示例项目,并尝试使用Xcode 8 beta 6构建和运行它.
在执行prepare(for:sender:)故事板segue之前,视图控制器有两个地方实现了调用以执行操作.
override func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) {
Run Code Online (Sandbox Code Playgroud)
该行有一个错误,说"方法不会覆盖其超类中的任何方法".
如果我删除覆盖,应用程序构建但该方法不应该被调用.
我有一个应用程序,可以从用户能够选择将图像设置为壁纸("幻灯片解锁"屏幕上的背景图像)中受益.
有没有办法让非越狱第三方应用程序执行此操作?在iPhone文档中搜索"壁纸"不会返回任何内容.
我正在使用Sinatra在Ruby中编写一个小型Web服务.使用http basic auth(在生产中通过https)控制对几乎所有内容的访问.
我希望从需要授权中排除一个特定目录.是否有捷径可寻?
iphone ×5
cocoa-touch ×2
ios ×2
native ×2
swift ×2
build-rules ×1
location ×1
protocols ×1
repeat ×1
segue ×1
sinatra ×1
toolbar ×1
uitableview ×1
wallpaper ×1
xcode ×1
xcode8-beta6 ×1