2017-07-25 85 views
0

我使用的XCode 8 +斯威夫特3.用我的个子项目第三方框架(Alamofire)(CocoaTouch框架)

我创建了一个名为 “MyApp的” 一招鲜的iOS项目。

然后,我创建一个名为“MySubProject”的Cocoa touch 框架项目。 (这个想法是有MyApp的项目访问MySubProject代码。)

我加MySubProjectMyApp的项目,链接的MySubProject框架。

在Xcode项目导航器,它看起来像这样:

MyApp 
    > MySubProject.xcodeproj 

,一切工作正常。 MyApp中的代码可以访问MySubProject中的代码。

现在,我需要将Alamofire添加到MySubProject。我跟着Alamofire offical website指令手动添加Alamofire到MySubProject,项目结构,那么看起来是这样的:

MyApp 
    > MySubProject.xcodeproj 
    > Alamofire.xcodeproj 

所以,MySubProjectAlamofire框架依赖。这是它looke像下MySubProject目标 - >常规:

enter image description here

在那之后,我可以在MySubProject代码,没有编译错误访问Alamofire。 MyApp已成功建成。然而,当我在模拟器中运行我的应用程序,我得到运行时错误:

dyld: Library not loaded: @rpath/libswiftSwiftOnoneSupport.dylib 
Referenced from: /Users/myname/Library/Developer/Xcode/DerivedData/MyApp-hezjlyvzxnavccenabxdepgftbrg/Build/Products/Debug-iphonesimulator 

/Alamofire.framework/Alamofire 原因:没有找到图片

为什么? &如何解决?

+0

您是否尝试过建立豆荚方案? –

回答

-1

如果您想使用alamofire,有一个更好的方法来安装它。您可以将cocoapods用于第三方框架。所以,你必须遵循以下步骤:

1.-请通过宝石安装的CocoaPods sudo gem install cocoapods

2:通过终端访问您的文件夹,然后键入pod init,然后键入vim Podfile

3.-可以看到一个文件,你可以添加你的第三方框架,所以你必须添加Alamofire到你的目标,并从你的vim :wq写它。例如输入:

# Uncomment the next line to define a global platform for your project 
# platform :ios, '9.0' 

target 'YourTarget' do 
use_frameworks! 

pod 'Alamofire', '~>4.0' 

4.-现在您必须从终端输入pod install,就是这样。打开从cocoapods生成的xcworkspace,并从xCode输入cmd + B。之后,您可以将Alamofire导入您的课程。

+0

我知道,但这种安装方式不适合我的需要。请参阅我的问题在这里https://stackoverflow.com/questions/45281648/use-3rd-party-pod-in-sub-project-framework-project –

+1

阿尔弗雷多:他指的是我们彼此,所以我认为他只是过分复杂的情况,并不知道他真正想要什么。 – Leon

+1

@Leon,我很清楚自己想要什么,我只是不知道实现目标的正确方法。我发布了两个问题,因为它们是同一个项目中的两个不同的问题。你真的不明白我的问题并不意味着我不知道我想要什么。 –