小编Mik*_*ike的帖子

验证错误:无效的捆绑包.在...包含不允许的文件'框架'

我正在尝试使用Xcode6 GM提交应用程序,我在验证时遇到此错误.该应用程序具有动作扩展和动态框架,在扩展和应用程序本身之间共享.

我在项目的任何地方都没有名为'Frameworks'的文件,所以我真的不确定这是什么意思.有没有人得到这个问题或有任何想法?这是错误的样子

xcode itunesconnect ios

150
推荐指数
11
解决办法
3万
查看次数

当@objc推断关闭时,Xcode为框架生成的伞头不会导入Foundation

我有一个完全用Swift编写的框架,它包含在一个使用Objective-C和Swift混合的应用程序中,即

#import "MyFramework-Swift.h"
Run Code Online (Sandbox Code Playgroud)

如果Swift 3 @objc inference转向ON框架目标,那么一切都编译并运行正常.如果Swift 3 @objc inference转为OFF那么框架本身将编译,但它包含的文件没有,并吐出一堆错误,如:

Unknown type name 'NSArray' 要么 Unknown type name 'NSError'

在Objective-C的文件进口在那里我想使用这个框架基本上是这个样子(即基金会尝试导入迅速框架前被导入):

@import Foundation;
#import <OtherNonSystemHeaders.h>
#import "ThisFilesHeader.h"
#import "MyFramework-Swift.h"
Run Code Online (Sandbox Code Playgroud)

如果我打开Xcode生成的头文件,那么有一个大约150行的部分,如下所示:

#if __has_feature(modules)
@import ObjectiveC;
#endif
Run Code Online (Sandbox Code Playgroud)

如果我手动将其更改为此,它将编译并运行.

#if __has_feature(modules)
@import ObjectiveC;
@import Foundation;
#endif
Run Code Online (Sandbox Code Playgroud)

显然这不是一个真正的解决方案,因为它会在Xcode重新生成该标题时被覆盖,但我无法理解为什么关闭@objc推断会导致导入消失.我已经手动将某些方法标记为@objc,框架中的所有类都是NSObject的子类,并且每个文件都导入了Foundation.

我认为这可能是一个错误,但是Xcode 9.2和9.3都会发生这种情况,显然人们可以关闭@objc推理,因为它现在是推荐的设置.但我真的很茫然.

xcode ios swift

12
推荐指数
1
解决办法
622
查看次数

Swift不能用于函数指针吗?

我正在尝试在Swift中使用C库,而我在调用任何将函数指针作为其参数之一的函数时遇到了麻烦.例如,我试图在Swift中使用的lua.h文件的一部分如下所示:

LUA_API void  (lua_setuservalue) (lua_State *L, int idx);


typedef int (*lua_CFunction) (lua_State *L);

LUA_API void  (lua_callk) (lua_State *L, int nargs, int nresults, int ctx,
                       lua_CFunction k);
Run Code Online (Sandbox Code Playgroud)

我使用桥接头来访问库,从我的Swift代码中我可以毫无困难地调用lua_setuservalue.但是,如果我尝试调用lua_callk,我会"使用未解析的标识符'lua_callk'".如果我从lua_callk的声明中删除函数指针,我不再收到此错误.任何帮助都非常感谢.

c xcode lua ios swift

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

ios ×3

xcode ×3

swift ×2

c ×1

itunesconnect ×1

lua ×1