我正在使用Xcode 6并遵循Xcode版本4教程,所以这里和那里的事情都不一样.
我的项目导航器中似乎没有Frameworks文件夹,因此当我下载一些.framework文件并在项目编辑器的构建阶段手动添加它们时,我没有Frameworks文件夹来保存它们并让它们掉落进入我的项目导航器的顶部.所以他们在那里,只是没有在一个特殊的文件夹中,它看起来不太好.
那么Xcode 6应该自动拥有一个框架文件夹,还是我需要自己创建一个?如果是这样,我该怎么做?(到目前为止我只添加了新文件).
我一直在引用很多项目,我通过在Header Search Paths中添加路径来实现.
我一直在通过"Referenced Project"开始关注引用的东西(比如包括ZXingWidget).
我现在已经做了很多,但我不理解递归的检查.
谢谢
我将swift框架导入Objective-c项目,如下所示:
@import MyFramework;
Run Code Online (Sandbox Code Playgroud)
问题是只有一些类被我导入框架的类识别.
被认可的班级:
public class RecognizedClass:UIViewController, WKNavigationDelegate, WKScriptMessageHandle
{ ... }
Run Code Online (Sandbox Code Playgroud)
这个课不是:
public class VeediUtils
{ ... }
Run Code Online (Sandbox Code Playgroud)
它们都是公共的,为什么第一个在工作区被识别而另一个没有?
另外我在头文件MyFramework-Swift.h中看到一个类
@interface RecognizedClass : UIViewController <WKNavigationDelegate, WKScriptMessageHandler>
Run Code Online (Sandbox Code Playgroud)
出现而另一个不
这是为什么?
还指出,当我将swift框架导入swift项目时,同样的过程也能正常工作
标题说明了一切.我在SWIFT_MODULE_NAME的构建设置中搜索过,但没有任何内容.我也在线搜索,并且有对此名称的引用,但没有关于如何定义的信息.此外,我在Apple Docs中找不到任何提及SWIFT_MODULE_NAME的信息.
我知道这一点:它用于"Objective-C Generated Interface Header Name"构建设置,可以通过双击设置值来查看:
$(SWIFT_MODULE_NAME)-Swift.h
它用于弥合Objective-C和Swift之间的差距,并且只出现在包含Swift文件的项目中(以及我假设的Objective-C文件).截至发布时,Xcode 7.3是最新最好的.
但是,这个值定义在哪里,我该如何修改它?
所以我对这个问题进行了一些研究,但我还没有找到类似的东西......
所以我使用Xcode和Sparrow Framework在Obj-C中编写游戏.到目前为止,我一直在模拟器上工作,而且一切都很顺利.但是当我切换到在我的设备上运行它时,我会得到各种错误,应该是标准的,例如"无法找到NSObject的接口声明","未知的类型名称'NSMutableArray'"等我已经有了#在每个班级导入,所以你会认为它不应该发生,对吧?我觉得这只是一两行需要改变的地方 - 但我不知道在哪里或哪里.
如果有人有任何建议,将非常感谢.:)
编辑:这是一个给出错误的.h文件的屏幕截图 - 它似乎只出现在我创建的一些.h文件中.http://i.imgur.com/EuQh4.png
我创建了一个名为 的框架Communication,框架容器内有一个module.modulemap文件。
模块.modulemap
framework module Communication {
umbrella header "Communication.h"
export *
module * { export * }
}
Run Code Online (Sandbox Code Playgroud)
我可以理解该模块需要伞头将其暴露给包含应用程序/目标。
但是其他两行代码的含义是什么。
export *
module * { export * }
Run Code Online (Sandbox Code Playgroud)
如果有人知道这条线出口的是什么?
我有一个带有几个文件的新Swift项目,我需要添加一些Objc代码.
在Build Settings,我Objective-C Generated Interface Header Name的MyProject-Swift.h
Product Module Name并且Product Name都是MyProject.
我的Objective-C Bridging Header是MyProject/MyProject-Bridging-Header.h
我的内容Bridging Header是:
#ifndef MyProject_Bridging_Header_h
#define MyProject_Bridging_Header_h
#import "Blakey.h"
#endif
Run Code Online (Sandbox Code Playgroud)
Blakey.h 非常简单:
@import Foundation;
#import "MyProject-Swift.h"
@class KeyPair;
@interface Blakey: NSObject
- (void)createKeyPairForSeed:(NSString *)seed;
@end
Run Code Online (Sandbox Code Playgroud)
和 Blakey.m
#import <Foundation/Foundation.h>
#import "Blakey.h"
@implementation Blakey
- (void)createKeyPairForSeed:(NSString *)seed;
{
}
@end
Run Code Online (Sandbox Code Playgroud)
(旁注:我知道我的函数返回一个void,一旦修复了这个问题就会改变,所以它返回一个实际的值)
为什么Xcode中抛出一个错误在#import "MyProject-Swift.h"中Blakey.h?
ios ×6
objective-c ×4
swift ×4
xcode ×3
frameworks ×2
iphone ×1
swift4 ×1
xcode4 ×1
xcode4.2 ×1
xcode6 ×1