小编oli*_*esF的帖子

在iOS中的动态框架中包含静态库

我需要为我正在处理的项目创建一个框架(需要一个静态库).我使用本教程创建框架,然后将静态库复制到项目中并且它工作正常.

但是,当我将框架拖到iOS项目时,它显示了大量的错误.

`Undefined symbols for architecture i386:"_OBJC_CLASS_$_SomeClassFromTheStaticLibrary",referenced from:_OBJC_CLASS_$_AnotherClass in MyFramework`
Run Code Online (Sandbox Code Playgroud)

我认为正在发生的是iOS项目想要重新编译框架而不能,因为它找不到静态库.如果我将静态库添加到iOS项目,所有错误都会消失.这是我想要避免的.

基本上我想要iOS项目 - > Framework - > Library,而不是在项目和框架中都有库.

我已经尝试将静态库添加为框架中的资源,但它不起作用.

iphone cocoa frameworks objective-c ios

16
推荐指数
1
解决办法
2425
查看次数

Xcode的Build和Archive无法正常工作

我当前遇到的问题是Build和Archive将构建我当前的目标,但在完成构建之后,会出现一个弹出窗口,其中包含以下消息:

"操作无法完成.没有这样的文件或目录"

我重新安装了Xcode(3.2.3与SDK 4.0),重新启动了我的机器,清理了缓存,清理了项目,手动删除了项目构建目录.没有任何效果.

我也检查了~/Library/MobileDevice/Archived Applications它是空的.

有任何想法吗?

ps这让我抓狂!

iphone xcode cocoa-touch xcode3.2

7
推荐指数
2
解决办法
9720
查看次数

在Swift扩展中实现didRegisterForRemoteNotificationsWithDeviceToken不起作用

我正在尝试从Obj-C慢慢迁移到Swift.我的第一步是将小的,简单的方法迁移到Swift扩展,所以我决定尝试迁移,didRegisterForRemoteNotifications但这不起作用,因为它认为该方法是在我的Objective-C代码中的其他地方实现的.它不是.

我正在使用Xcode 7.3(7D175)

这是一些复制步骤:

  • 创建一个新的Obj-C项目.
  • 创建一个名为的新的空Swift文件AppDelegate-Extension.swift.这也会创建一个Bridging头文件.
  • 添加#import AppDelegate.h到Briding头文件.
  • 转到空的Swift文件并键入:

    extension AppDelegate {
    
        public func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) {
    
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)

这导致编译器抱怨:

方法'application(_:didRegisterForRemoteNotificationsWithDeviceToken :)'与Objective-C选择器'application:didRegisterForRemoteNotificationsWithDeviceToken:'与之前的声明冲突与相同的Objective-C选择器公共func应用程序(应用程序:UIApplication,didRegisterForRemoteNotificationsWithDeviceToken deviceToken:NSData){^ __ObjC.AppDelegate :38:17:注意:'application'以前在这里声明了public func application(应用程序:UIApplication,didRegisterForRemoteNotificationsWithDeviceToken deviceToken:NSData)

我究竟做错了什么?

编辑: 我尝试过的一些建议:

添加override到方法声明,以便读取override public ...

这将返回以下错误(除了原始错误)

error:方法不会覆盖其超类覆盖公共func应用程序中的任何方法(应用程序:UIApplication,didRegisterForRemoteNotificationsWithDeviceToken deviceToken:NSData)

objective-c ios swift

5
推荐指数
1
解决办法
719
查看次数

Swift中的布尔指针

给出以下方法:

- (void)doThingWith:(NSString *)string changeBoolean:(BOOL *)booleanPointer { // Do Something *booleanPointer = NO; }

我应该如何将其翻译为Swift?

boolean objective-c swift

-1
推荐指数
1
解决办法
305
查看次数

标签 统计

objective-c ×3

ios ×2

iphone ×2

swift ×2

boolean ×1

cocoa ×1

cocoa-touch ×1

frameworks ×1

xcode ×1

xcode3.2 ×1