Joh*_* S. 10 git xcode objective-c ios swift
我在使用XCode的iOs应用程序中遇到了问题.它已经在Objective-C中编码,现在我正在努力在Swift中一个接一个地迁移文件.代码在具有版本控制系统(git)的团队成员之间共享.
我从核心类开始,我这样做:
@objc前缀关键字)#import "MyClass.h"通过@class MyClass;在头文件#import "MyProject-Swift.h"了需要它的实现文件(.m)这个过程已经工作了好几次,但由于某些原因,有些#import "MyProject-Swift.h"不起作用,我收到错误:找不到'MyProject-Swift.h'文件.
根据导致问题的不同文件,有时,Ctrl + Click会打开"MyProject-Swift.h"文件,有时不会(无论"未找到错误").
但文件存在,并且翻译的Swift代码存在于其中.
另一件事真的很奇怪,我试图重新创建新的.h和.m文件,从那些使用#import "MyProject-Swift.h"东西和有问题,然后它工作(有时不,我得到其他错误)!
由于它在某些情况下有效,我真的不明白为什么它会导致其他情况出现问题.当然,我在几十个主题中搜索,但没有找到任何有同样问题的人.
可能是XCode设置问题,还是因为团队开发人员之间的XCode版本不同?
任何的想法 ?
谢谢
编辑:
我以另一种观点完成了问题描述.
我确实让项目处于工作状态:使用我的一些新的Swift文件,它构建并运行良好(一些Objective-C文件使用Swift文件).
我知道某个.m文件有问题:
#import "MyProject-Swift.h"在开头添加,没有别的更换#import "MyProject-Swift.h"由#import <MyProject-Swift.h>不会改变任何东西.
我有时也会遇到这种情况:Ctrl + Click打开"MyProject-Swift.h",但是XCode 没有找到"MyProject-Swift.h"文件(它也不会构建).
向您的项目添加一个名为[MyProjectName]-Bridging-Header.h的头文件。这将是单个头文件,您可以在其中导入您希望 Swift 代码访问的任何 Objective-C 代码。
在您的项目构建设置中,找到 Swift Compiler – Code Generation,然后在 Objective-C Bridging Header 旁边从项目的根文件夹中添加到您的桥接头文件的路径。因此,如果文件位于项目根文件夹中,它可以通过MyProject/MyProject-Bridging-Header.h或简单地MyProject-Bridging-Header.h。
您只需要一个桥接头。将您的 #import 语句添加到此文件中,您的类现在可以在您的 Swift 代码中使用,而无需任何额外的导入语句。
我终于想出了我自己的解决方案:project.pbxproj文件在一些git merge之后有点被破坏了.该项目的一些文件在该文件中被引用了两次,因此我删除了我认为不好的文件(可能是随机选择的,更接近事实).
现在它的工作就像一个魅力.
事实上,在我尝试将文件迁移到Swift之前,这对项目没有任何影响!
在XCode中使用工具或函数将这个project.pbxproj文件重置为当前的东西是个好主意.
立足于那个 asumption /sf/answers/2207842801/我在这解决了这个问题的简单方法
找到目标C文件,其中编译器声称它无法在那里找到YourProject-Swift文件.从项目中删除它,然后添加.
之后我的项目成功编译并运行
| 归档时间: |
|
| 查看次数: |
8659 次 |
| 最近记录: |