尝试使用Xcode 9验证存档构建。由于某种原因,Xcode将我的.swift
文件之一转换为.o
文件。这会导致验证失败。
无效的捆绑包结构 - 不允许使用二进制文件“MYAPPNAME.app/TCBConnection.o”。除了支持的捆绑包的有效CFBundleExecutable之外,您的应用程序不能包含独立的可执行文件或库。有关iOS应用程序包结构的信息,请参阅https://developer.apple.com/go/?id=bundle-structure上的Bundle Programming Guide。
显示为TCBConnection.o
的文件实际上是.swift
文件
TCBConnection.swift
(显示)文件的内容是Apples Reachability.h/.m
类的包装器。
//
// 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
文件。
为什么这样以及我如何解决它?
答案 0 :(得分:1)
解决: 不得不复制(cmd + c)TCBConnection.swift文件的所有内容。删除文件。使新文件具有相同的名称,并在已删除文件的复制文本中粘贴(cmd + v)。问题解决了。