归档项目时出错.这是我的环境.
项目部署目标是:
IPHONEOS_DEPLOYMENT_TARGET 3.2
Run Code Online (Sandbox Code Playgroud)
错误显示:
ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Run Code Online (Sandbox Code Playgroud)
我想Pods是我用来管理XCode项目依赖项的CocoaPods. https://github.com/CocoaPods/CocoaPods
这是我的Podfile
platform :ios
dependency 'libPusher', '1.1'
Run Code Online (Sandbox Code Playgroud)
我不确定错误是什么意思?
我尝试Swift在我的app中集成代码.我的应用程序是写入的Objective-C,我添加了一个Swift类.我做了这里描述的所有事情.但我的问题是Xcode没有创建-Swift.h文件,只有桥接头.所以我创造了它,但它实际上是空的.我可以在Swift中使用我所有的ObjC类,但我不能这样做.我标记了我的快速课程,@objc但没有帮助.我现在能做什么?
编辑:Apple说:"当您将Swift代码导入Objective-C时,您依靠Xcode-generated头文件将这些文件暴露给Objective-C.[...]此标题的名称是您的产品模块名称,然后添加" -Swift.h"."
现在,当我想导入该文件时,它会出错:
//MainMenu.m
#import "myProjectModule-Swift.h" //Error: 'myProjectModule-Swift.h' file not found
@implementation MainMenu
Run Code Online (Sandbox Code Playgroud)
这是我的FBManager.swift文件:
@objc class FBManager: NSObject {
var descr = "FBManager class"
init() {
super.init()
}
func desc(){
println(descr)
}
func getSharedGameState() -> GameState{
return GameState.sharedGameState() //OK! GameState is written in Objective-C and no error here
}
}
Run Code Online (Sandbox Code Playgroud) 我有一个现有的iOS应用程序,并希望添加一大块代码,我一直在开发另一个项目,以方便测试.新的块基本上处理将图像保存到各种共享服务等.因为共享代码需要大量的测试和未来的更新,我想知道将代码块合并到我现有的应用程序中的最佳方法是什么.
我不知道它应该是静态库,动态库还是框架,老实说,我不确定区别是什么,或者我应该如何去做它并在Xcode中设置它.
我所知道的是,我需要/想要为共享代码保留单独的测试和更新应用程序,并让主应用程序使用它.
如果你还不能说,我不是一个git wiz.我只是一个简单的单人开发人员.
任何帮助或方向将不胜感激.谢谢!
关于这两个选项之间的区别是一个很好的问题,如Link Binary与库VS Embed Frameworks中描述的那样.
似乎我们可以选择使用它们,只是想知道哪种情况我们应该更好地使用嵌入式二进制文件,或者不是链接框架?
解决这个问题的任何可靠实例都更清晰 谢谢
我正在尝试使用带有Swift编程语言的Objective C框架进行iOS 8开发.这是导入的具体情况,但一般问题是:
如何将Objective C框架导入swift并获得导入识别?
我正在尝试使用iOS 8和Xcode 6测试版将Parse框架集成到一个快速的应用程序中.
以下是Objective C中Parse框架集成的技术:
https://www.parse.com/apps/quickstart#social/mobile/ios/native/existing
我已经将Parse框架作为压缩存档下载,解压缩并将其导入Xcode 6而没有任何问题.在我的应用程序中,它显示为名为Parse.framework的格式正确的框架.
我目前的思考过程是修改AppDelegate.swift项目根目录下的文件.这是没有修改的当前文件(在快速项目创建时由Xcode自动生成):
https://gist.github.com/fconcklin/e8ef7d8b056105a04161
我试图通过添加行import Parse下面的行来导入解析import UIKit.但是,Xcode发出警告,表示没有找到这样的模块,并且构建失败.
我还尝试创建一个${PROJ_NAME_HERE}-Bridging-Header.h包含Parse使用的Objective C导入的文件import <Parse/Parse.h>.这条线不会引发错误,但似乎最终没有任何区别.
提前致谢.如果您需要更多信息,请告诉我.
所以我正在研究Swift中的iOS项目,我想创建一个包含一些有用内容的静态库.
我的问题是当我尝试在Xcode(版本6.3)中构建我的lib时,我有一个"Build Failed",然后是: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: unknown option character 'X' in: -Xlinker
我从来没有见过这个,这不是我的第一个静态库.所以我在想我可能与我只使用Swift类这一事实有关.
你们有什么感想 ?先感谢您.
如何创建静态库,并且可以在ios中的任何项目上添加.a文件.
我试过这样做但是做不到.
提前致谢
我想在swift中使用我的webrtc .a静态库.你能帮帮忙吗?我读过你不能在swift中使用静态库,这是真的吗?
我正在尝试使用AdMob构建我的iPhone应用程序的精简版.我按照http://www.iphonedevsdk.com/forum/iphone-sdk-development/11358-creating-lite-version-app.html中的指导原则创建了两个不同的目标.在Lite版本中,我添加了一个名为LITEVERSION的宏,我正在使用#ifdef进行检查并执行相应的操作.
但是当我构建应用程序的精简版时,我收到链接器错误
ld:找不到-lAdMobDevice的库:collect2:ld返回1退出状态
但是我能够构建完整版本而没有任何问题,并且还注意到即使我删除#ifdef宏,构建工作正常(对于完整版本).这表明libAdMobSimulator.a库正在为完整版本正确链接,但它在lite版本上失败.
任何指针将不胜感激!
干杯水壶
使用AFNetworking时出现以下错误:
''找不到-lPods-AFNetworking的库'''
链接器命令失败,退出代码为1(使用-v查看调用)."
我检查了所有缺失的框架,他们都在场.此外,这个项目适用于其他人(我们从github拉出来),我是唯一一个不能工作的人.(它是一个联合项目)
我们都使用Xcode 6.2.我不明白什么可能是错的或什么遗失.我尝试使用命令行,sourceTree甚至是Xcode git源代码控制.
我也尝试过不同版本的Xcode.但是所有其他的同伴都在使用我现在使用的Xcode 6.2.
以前它曾经工作过,它突然停止工作.
欢迎任何想法,谢谢!
以下是详细错误:
ld:警告:找不到选项'-L/Users/ramapriyasridharan/Documents/Rama-3:06:2015-ios/Mapbox'ld:warning:找不到选项'-L/Users/ramapriyasridharan/Documents /的目录Rama-3:06:2015-ios/Pods/build/Debug-iphoneos'ld:找不到-lPods-AFNetworking clang的库:错误:链接器命令失败,退出代码为1(使用-v查看调用)
编辑:
打开工作区文件后,我没有再收到mach O链接器错误,但是我收到以下错误:
Command /Volumes/Xcode 1/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/momc failed with exit code 1
Run Code Online (Sandbox Code Playgroud)
我问我的队友们说它仍然可以正常工作,所以它仍然是我的电脑上的问题!
我的目标是创建一个包含Swift和Objective-C的iOS框架,我可以在我的开发项目中使用它.该框架的本质是框架本身正在发展.因此,每次使用此框架构建项目时都很重要(我将使用"使用"项目的框架称为项目缺乏更好的术语),我想确保框架本身重新构建.我希望这是一个框架,因为我有一些使用应用程序,我希望使用相同的框架代码.我已经为今天的大部分时间而苦苦挣扎,并浪费了大量时间在本来应该做的事情上,至少在我的想法中,更容易.所以,我会分享我的过程.