我刚安装了适用于iOS 11的Xcode 9,以便我的旧项目进行更新.但是在Simulator以及iOS设备中加载应用程序需要花费太多时间.
我需要在Xcode中更改任何设置吗?
此外,我发现一个主要问题是击中Mac机器.
错误 ITMS-90171:“无效的捆绑结构 - 不允许使用二进制文件 'abcd .app/xyz.bundle/Contents/MacOS/xyzBundle'。除了受支持捆绑的 CFBundleExecutable 之外,您的应用不能包含独立的可执行文件或库.有关 iOS 应用程序包结构的信息,请参阅https://developer.apple.com/go/?id=bundle-structure上的 Bundle Programming Guide 。”
我在我的项目中使用 Mac OS 包作为框架使用。它在 iOS 设备和模拟器中完美运行,但是当我尝试将应用程序上传到应用程序商店时,它给了我上述错误。
请给我建议。
我正在使用 AVAudioPlayer 对象来加载音频文件。我已经检查了两个浏览器 1) chrome 获得了准确的持续时间。而 2) Safari 的文件持续时间错误。
我们使用了如下代码,
let soundData = NSData(contentsOf: url as URL)
self.player = try AVAudioPlayer(data: soundData! as Data)
self.player.delegate = self
let currentSecond = self.player.duration
//Second Option we had tried.
let assets = AVURLAsset(url: url as URL, options: [
AVURLAssetPreferPreciseDurationAndTimingKey : Int(true)])
var t = Float()
t = Float(CMTimeGetSeconds(assets.duration))
print(t)
Run Code Online (Sandbox Code Playgroud)
有什么建议吗?或者我错过了什么?请指导我。
我想将每个 print() 内容写入 Swift 3.0 中的文本文件中。它在 Objective-C 中运行良好,但在 Swift 3.0 中不起作用。我正在使用如下代码,
func redirectLogToDocuments() {
let docDirectory: NSString = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)[0] as NSString
let logpath = docDirectory.appendingPathComponent("Logfile.txt")
freopen(logpath.cString(using: String.Encoding.utf8)!, "a+", stdin)
freopen(logpath.cString(using: String.Encoding.utf8)!, "a+", stdout)
freopen(logpath.cString(using: String.Encoding.utf8)!, "a+", stderr)
}
Run Code Online (Sandbox Code Playgroud)
请帮我。