带有流氓 .o 文件的无效 Bundle 结构
Invalid Bundle structure with a rogue .o file
尝试使用 Xcode 9 验证存档构建。出于某种原因,Xcode 正在将我的一个 .swift
文件转换为 .o
文件。这会导致验证失败。
Invalid Bundle Structure - The binary file 'MYAPPNAME.app/TCBConnection.o' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure.
显示为 TCBConnection.o
的文件实际上是一个 .swift
文件
TCBConnection.swift
(显示)文件的内容是苹果 Reachability.h/.m
Class 的包装。
//
// Connection.swift
//
// Created by TCB-iMAC on 24/11/2016.
// Copyright © 2016 TCB-iMAC. All rights reserved.
//
import UIKit
class TCBConnection: NSObject {
@objc class func isConnectedToInternet() -> Bool {
if (Reachability.forInternetConnection().currentReachabilityStatus() == NetworkStatus.NotReachable){
UIApplication.shared.keyWindow?.rootViewController?.present(Reachability.showNoNetworkUIAlertController(), animated: true, completion: {
})
return false
}
return true
}
}
我的项目中有一个 Reachability.h
的桥接头文件。
在设备或模拟器上测试和运行项目一切正常。但是由于某些原因,我无法验证存档,因为 Xcode 将 .swift
文件更改为 .o
文件。
为什么会这样,我该如何解决?
已解决:
必须复制 (cmd + c) TCBConnection.swift 文件的所有内容。删除文件。创建一个新文件,并在已删除文件的复制文本中粘贴 (cmd + v) 相同的名称。问题解决了。
尝试使用 Xcode 9 验证存档构建。出于某种原因,Xcode 正在将我的一个 .swift
文件转换为 .o
文件。这会导致验证失败。
Invalid Bundle Structure - The binary file 'MYAPPNAME.app/TCBConnection.o' is not permitted. Your app can’t contain standalone executables or libraries, other than a valid CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure.
显示为 TCBConnection.o
的文件实际上是一个 .swift
文件
TCBConnection.swift
(显示)文件的内容是苹果 Reachability.h/.m
Class 的包装。
//
// Connection.swift
//
// Created by TCB-iMAC on 24/11/2016.
// Copyright © 2016 TCB-iMAC. All rights reserved.
//
import UIKit
class TCBConnection: NSObject {
@objc class func isConnectedToInternet() -> Bool {
if (Reachability.forInternetConnection().currentReachabilityStatus() == NetworkStatus.NotReachable){
UIApplication.shared.keyWindow?.rootViewController?.present(Reachability.showNoNetworkUIAlertController(), animated: true, completion: {
})
return false
}
return true
}
}
我的项目中有一个 Reachability.h
的桥接头文件。
在设备或模拟器上测试和运行项目一切正常。但是由于某些原因,我无法验证存档,因为 Xcode 将 .swift
文件更改为 .o
文件。
为什么会这样,我该如何解决?
已解决: 必须复制 (cmd + c) TCBConnection.swift 文件的所有内容。删除文件。创建一个新文件,并在已删除文件的复制文本中粘贴 (cmd + v) 相同的名称。问题解决了。