Xcode 8宏NSLocalizedString的模糊扩展
我在我的单元测试.pch文件中有以下内容,以允许我的单元测试找到适合本地化文件的捆绑包,这很好,直到我升级到xcode8. . #undef NSLocalizedString #define NSLocalizedString(key, comment) [[NSBundle bundleWithIdentifier:@"Tests-Unit"] localizedStringForKey:(key) value:@"" table:nil] 现在,我得到了警告 Ambiguous expansion of macro NSLocalizedString 这可以解释为什么我的单位测试失败,因为他们找不到局部字符串值. 有什么想法有什么问题?我现在需要做些不同的事情吗? 编辑: 我觉得这与我的所有源文件都在 2目标中有关,即一个项目,一个用于单位测试,这是我们进行设置的方式.我正在尝试清理此问题,并将所有源文件从单元测试目标中删除,并添加了 @tes
0 2024-04-05
编程技术问答社区
不要用Xcode 8复制swift库?
如何在xcode 8中自动嵌入swift动态库?如何? 我已经尝试将设置ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES设置为" no"(默认为"否"),但它仍然将swift动态库复制到应用程序捆绑包中. 我正在创建一个用于嵌入主要应用程序的助手应用程序,后者已经具有SWIFT库,前者可以链接到. 解决方案 即使将ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES设置为no.您可以检查项目中是否有一些Swift文件或您的任何依赖项并删除这些文件.
2 2024-04-05
编程技术问答社区
我想把我的输入节点的采样率从44100改为8000。
我想从麦克风中读取缓冲区到一个数组,其工作正常,但使用样本率8kHz,它遇到了错误 ERROR: >avae> AVAudioIONodeImpl.mm:884: SetOutputFormat: required condition is false: format.sampleRate == hwFormat.sampleRate 2016-11-26 19:32:40.674 Atem[5800:1168274] *** Terminating app due to uncaught exception 'com.apple.coreaudio.avfaudio', reason: 'required condition is false: format.sampleRate == hwFormat.sampleRate' 使用我的以下代码: var engine = AVAudioEngine() func setup() { print
8 2024-04-04
编程技术问答社区
swift3中的CBCharacteristic值
我是迅速发展的初学者.我正在从事基于BLE的应用程序. 今天,我更新了Xcode 8,iOS 10,并将代码转换为Swift3.然后,我的某些语法需要转换.解决此问题后,我在cbcharacteristic上找到了一个问题. 问题 在didupdatevalueforchacteristic中,我可以获得更新的cbcharacteristic对象. 如果我打印出整个对象,则可以正确显示. - > value = 当我从cbcharacteristic,特征.值 - > 2个bytes(此值的大小) 中检索值时 func peripheral(_ peripheral: CBPeripheral, didUpdateValueFor characteristic: CBCharacteristic, error: Error?) { if (characteristic.uuid.description == LED_WAVELENGTH_CHARACTERISTI
14 2024-04-01
编程技术问答社区
将base64数据解码为图像
此代码不再与Swift 3一起使用. imageData = NSData(base64EncodedString: mediaFile, options: NSDataBase64DecodingOptions.fromRaw(0)!) 这也是如此. imageData = NSData(base64EncodedString: mediaFile, options: .allZeros) 解决方案 而不是使用NSData直接使用swift 3本机Data. if let decodedData = Data(base64Encoded: mediaFile, options: .ignoreUnknownCharacters) { let image = UIImage(data: decodedData) } 其他解决方案 Swift 4.1 : 有时字符串的前缀data:image/png;base64在这种情况下会base64En
10 2024-03-27
编程技术问答社区
为什么调用 audioplayer.play(atTime: delay)时,无论延迟值是多少,都没有声音
期望: 当audioplayer.play(Attime:1)被调用时,计时器将重置为0,并且在第1秒 播放AudioPlayer 现实: 我尝试了延迟= 0.000000001、1、100000000,但无论如何都不会播放噪音.但是,该代码明确执行(因为"函数被称为"在控制台中) 为什么差异? C = AVAudioPlayer() // assume other setups are done C.play(atTime: 1) print("function was called") 解决方案 根据官方API参考(我翻译为Swift 3): 声明 func play(atTime time: TimeInterval) -> Bool 参数 时间: 绝对音频输出设备开始播放的时间.您为时间参数提供的值必须大于设备的当前时间.您可以使用这样的代码延迟播放的开始: let playbackDelay = 3.0
4 2024-03-21
编程技术问答社区
自动机在xcode内不工作
我正在运行带有AppleScript的Automator,并且在Automator内部工作时,从Xcode运行时会失败. 这是我的代码: tell application "Xcode" set targetProjectPath to path of active workspace document set targetProjectPath to POSIX file (targetProjectPath & "/..") as string set targetProjectPath to POSIX path of targetProjectPath tell application "System Events" tell process "Xcode" click menu item "Save" of menu 0 of menu bar item "File" of menu bar 0
14 2024-03-21
编程技术问答社区
iOS 10、XCode 8中的自动布局约束问题
我已经使用Xcode 7.3开发了iOS应用程序. 在对具有iOS 10使用Xcode 7.3的设备上查看AutoLayout约束时,它正确显示了它,但是使用Xcode 8然后在设备上进行审查时,则无法正确显示. 所以我的问题是我使用Xcode 7.3在AppStore上部署该应用程序,因此有可能在AutoLayout约束中不正确地显示. . 任何帮助都非常感谢. 解决方案 我在我的一个iOS应用程序中遇到的问题与XCode 7.x中的约束作品相同,但在Xcode 8中不行,因此我发现了一些解决方案的工作.请找到以下步骤. 1)在Xcode 8中打开storyboard,然后在选择初始设备视图中弹出弹出窗口,请选择其中一个选项,然后单击"选择设备".请找到以下GIF表示的. 2)完成更改后,选择情节提要,转到File Inspector,在Interface Builder文档部分上,在字段中选择"打开"并应用Xcode 7.x.之后,它弹出了有关保存的弹出
12 2024-03-21
编程技术问答社区
在XCode 8的方向上为特质而变。
我是否会感到困惑,如果"特征"是正确的,可以在iPhone上定义肖像和景观模式的不同布局约束.我的目标是在iPhone上拥有肖像和景观模式的不同布局(在iPad上都不重要).我尝试了"特征",并为肖像和景观模式定义了不同的Nslayoutconstraints集,但似乎不起作用.基本上,如果我对肖像模式有限制的P1和P2活动,而C1&C2则用于景观模式,则应用于同一视图,这应该可以完成工作. "特征不同"是否真正适合这项工作? 还如何使用"变化的特征"? 撤消我可能已经添加的任何变体 解决方案 您需要执行以下 - 在肖像模式下设置约束. 选择景观模式. 禁用您在肖像模式下设置的约束. 分配景观的新约束. 返回肖像模式并禁用您在景观模式下设置的约束. 就是这样. 希望它有效. 如果您有任何混乱,请随时发表评论.
4 2024-03-21
编程技术问答社区
如何将UILabel与个人照片图像水平对齐?
我必须显示名称和电子邮件ID与配置文件图像正确对齐.因此,名称和电子邮件ID完全显示为UIImageView的中心. 但是您可以看到名称和电子邮件ID不在配置文件图像中心.为什么会发生这种情况?我给出了以下约束: 解决方案 删除前导和尾随约束,并将对齐中心x设置为ImageView. 您还可以设置领先和落后约束.但两者都等于以下. 其他解决方案 Just control+drag从标签到ImageView,然后水平选择中心. 其他解决方案 ctrl从标签上拖动到图像视图,然后选择Center horizontally.
6 2024-03-21
编程技术问答社区
根据每个iPhone的尺寸改变字体大小
是否有任何方法可以根据不同的iPhone屏幕更改/自动调整字体大小,就像我更改字体大小时,字体大小也应用于其他电话尺寸,这太大了. 我目前的电话尺寸是iPhone 6s加(5.5英寸) 解决方案 请使用大小类支持不同屏幕的不同字体大小.这是有关使用尺寸类的好教程. audpaptive-layout-tutorial P> 其他解决方案 我遇到了类似的问题.我建议使用此库: https://github.com/hamiz-ahmed/sizeoptimizedlabel 指定初始屏幕和字体大小.该字体会根据不同的屏幕尺寸自动优化. 其他解决方案 我几个月前就面对了这个问题.现在无法在情节板上做到这一点. 您可以通过检测屏幕尺寸或设备类型来进行代码进行操作,并为每个设备设置字体大小.您可以使用此lib做到这一点
2 2024-03-21
编程技术问答社区
在Xcode 8中,如何在界面生成器中对视图进行约束以满足所有的iPhone屏幕
我一直在尝试以下内容,例如固定,纵横比,垂直间距,水平/垂直间距,领先/尾随空间;但它并不适用于iPhone SE及以上的所有iPhone屏幕均匀工作. 解决方案 您不再为每个设备应用约束.您将应用每个大小类别的自动布局约束. 如果您知道每个iOS设备都属于每个方向的大小类之一.如果您不知道尺寸类,请阅读. 要回答您的问题, 1.您将添加所有尺寸类中常见的约束,任何x Any. 2.您总是可以添加特定于大小类别的约束(我的意思是您可以添加约束一个大小类,而如果您不想要的(如果您不想要)将其卸载为其他大小类) ) 3.您可以选择任何约束并提供恒定值,特定于大小类别的乘数(例如:您可以将高度约束常数设置为CXC中的50,而您可以将其设置为150 IN(R X R)不添加新约束. 其他解决方案 通过设置乘数来纠正价值,您可以实现此目标. 我曾经尝试过非编程性,仅在Xcode 8中尝试: 选择新视图之一,将CTRL&拖动到最高外部视图(或父视图)会
6 2024-03-21
编程技术问答社区
ios10:viewDidLoad框架宽度/高度没有正确初始化
由于升级到Xcode8 gm和ios10,我通过接口构建器创建的所有视图都无法正确初始化,直到比预期的要晚得多.这意味着在ViewDidload,CellForrowatIndExpath,ViewWillAppear等中,每个视图的帧大小都设置为{1000,1000}.在某个时候,它们似乎是正确的,但为时已晚. 遇到的第一个问题是,整个角落的常见圆角圆形圆形: view.layer.cornerRadius = view.frame.size.width/2 进一步的问题显示了依赖帧大小在代码中进行计算的任何事情. cellForRowAtIndexPath 对于CellForrowatIndExpath,帧大小在初始表显示时会失败,但是一旦滚动就可以正常工作. WillDisPlayCell:ForrowatIndExpath也没有正确的帧大小. 我已经进行了几个值,但显然这是非常糟糕的代码实践,而且我的项目中很多. 有没有办法或位置可以获取正
2 2024-03-21
编程技术问答社区
自Xcode 8和iOS10以来,视图在viewDidLayoutSubviews上的尺寸不正确。
似乎使用Xcode 8,在viewDidLoad上,所有ViewController子视图的大小相同为1000x1000.奇怪的事情,但是好的,viewDidLoad从来都不是正确尺寸尺寸视图的更好的地方. 但是viewDidLayoutSubviews是! ,在我当前的项目上,我尝试打印一个按钮的大小: - (void)viewDidLayoutSubviews { [super viewDidLayoutSubviews]; NSLog(@"%@", self.myButton); } 日志显示Mybutton的大小(1000x1000)!然后,如果我单击按钮,则日志显示正常大小. 我正在使用autoLayout. 是一个错误吗? 解决方案 现在,接口构建器让用户可以动态更改情节板中每个视图控制器的大小,以模拟某个设备的大小. 在此功能之前,用户应手动设置每个视图控制器大小.因此,视图控制器保存了一定尺寸,该尺寸在in
8 2024-03-20
编程技术问答社区
什么是Xcode 8中的'Vary for Traits'?
我正在使用自动层和尺寸类,但是随着iOS 10和新Xcode 8.0的发布,有一个新的选项Vary for Traits.是尺寸classe的替换是设备的不同宽度和高度吗? 通过选择width复选框,它显示varying 14 compact width devices. 通过选择height复选框,它显示varying 18 compact height devices. 通过选择两个复选框,它显示varying 11 compact width regular height devices. 如何利用此选项? 我们可以将AutoLayout与Xcode7.0这样的大小类使用? 如果有人有深入的知识,请解释一下. 解决方案 这只是关于如何快速使用"变化特征"在项目中添加iPad和iPhone不同布局的扩展. 请阅读此信息以了解有关尺寸类的更多信息. https://develoveling.apple.apple.apple.com/refe
0 2024-03-20
编程技术问答社区
更新到Xcode 8后的布局问题
这是我升级到xcode8后的一个屏幕前后的一个 在我的版本控件中,我可以看到Xcode对我的主机进行了很多更改. 每当我删除这些更改时,我都会看到我在Xcode 7.3.1中使用的内容. ,但是,一旦我用故事板重新打开接口构建器,我就会看到这些更改恢复到位. 我可以在这里做些什么? Xcode 8 之前 更新XCode 8 解决方案 我在将故事板文件转换为xcode8兼容后,桌面图像映像也没有出现类似的问题.这看起来像是Xcode8的错误,因此,直到发布错误修复为止,这是围绕的工作: 在Xcode 8中打开故事板,然后选择初始设备视图.像往常一样进行更改. 完成更改后,选择故事板 - >文件检查器 - >打开 - >选择'xcode 7.x'. 提示时选择"保存并关闭" 您的故事板更改将得到保存,您的故事板将正如前XCode8一样起作用. 当您需要对故事板文件进行其他更改时,请再次按照以下步骤进行操作. 其他解决方案 XIB
2 2024-03-20
编程技术问答社区
是否有办法关闭Xcode 8'的图像名称自动完成功能?
Xcode 8具有此新功能,该功能应该在使用UIImage(named:) 时建议图像文件名. 在我的情况下,它也建议图像名称,即使没有任何意义. 示例: 偏好中没有什么.我想知道是否有一些秘密命令可以禁用自动完成的这一部分. 解决方案 否,不幸的是不能关闭这一点,没有任何规定在Xcode 8.1发行说明中修复了这一点. . 它应该修复,或者您应该有机会将其关闭.正如我在中所描述的那样,该功能仅用于目的时有点好./p> ,但问题是Xcode 8正在插入源插入源时,如您所提及的那样可能没有任何意义.例如,如果您有用于迭代和类型for x in启动循环,并且使用此语法中的名称匹配"在"中的任何图像. 令人讨厌的问题,我希望苹果会尽快解决,因为仅用于图像时的功能就好了. 更新: 刚刚确认这仍然是Xcode 8.1稳定版本中的问题. 更新: 此功能保留在 Xcode版本9.0 Beta 6(9M214V)中 更新 现在似乎已固定在Xcod
8 2024-03-20
编程技术问答社区
Xcode 8自动完成-只显示有限的用户代码片断-知道为什么吗?
这刚刚开始. Autocomplete的运作良好,然后开始溅射,仅显示某些标准Cocoa类/方法等的autocomplete.最好将其描述为定期奇怪的遗漏.我正在使用Cocoa&Objective C,但似乎不仅仅是Objective C. . 我删除了派生的数据,并且没有效果. (默认值为~/Library/Developer/Xcode/DerivedData,但我喜欢将其保留在项目文件夹中以进行易于删除) Xcode是如此巨大(像操作系统一样),我不愿重新安装和阅读此处的帖子,无论如何都无法使用. 它正在测试我对Cocoa方法和参数顺序的记忆... autocomplete之前的生活还可以,但我想回来... 解决方案 缓存是Macos的致命脚跟,因此...在百灵鸟上,挖出〜/library/caches/com.apple.dt.xcode文件.是1.33克(耶兹). i退出Xcode,删除了缓存"文件",然后重新推出Xcode. voilà!,зде
2 2024-03-20
编程技术问答社区
XCode 8.1 Beta 3 -AQDefaultDevice消息
从Beta2开始,我在创建音频输出单元后每两秒钟收到此消息: 2016-10-14 11:31:21.572479 MyProduct[94063:8294923] [aqme] 254: AQDefaultDevice (173): skipping input stream 0 0 0x0 有人知道它产生了什么吗? 我以为也许我没有为音频拨打回调提供服务,但据我所知,我正在适当维修. 解决方案 可以在 https:https:https:https:https:https://stackoverflow.com/a/39651073/1033581 : 在产品>方案下>方案>编辑方案...>运行,将OS_ACTIVITION_MODE环境变量设置为$ {debug_activity_mode},因此看起来像这样: 转到您的项目构建设置,然后单击 +以添加一个名为debug_activity_mode的用户定义设置.展开此设置,然后单击DEBUG旁边的 +
6 2024-03-19
编程技术问答社区