Bazı Pod'ları almak için CocoaPods yeni çerçeve kurulumunu kullanıma sunmaya çalışıyorum ve Objective-C projemde Swift olanı kullanırken sorun yaşıyorum.Objective-C Project'te Swift Pod Framework nasıl alınır ve kullanılır
İlk şeyler ilk, bu CocoaPods prerelease 0.35'tür, here'u nasıl kullanacağınız ve kuracağınızı okuyabilirsiniz.
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
pod 'MBProgressHUD'
pod 'SLPagingViewSwift'
MBProgressHUD ortak eğirme göstergesidir ve SLPagingViewSwift ben cocoapods aramaya Swift yazarak bulundu rastgele bir projedir:
İşte benim şimdiki Podfile bu. sadece onu tahsis ve başlatmak için bir sorun olmamalı, böylece Gördüğünüz gibi
class SLPagingViewSwift: UIViewController, UIScrollViewDelegate {
, bu UIViewController
devraldığı: Burada
#import "ViewController.h"
@import SLPagingViewSwift;
@import MBProgressHUD;
@interface ViewController()
@end
@implementation ViewController
- (void)viewDidAppear:(BOOL)animated
{
[super viewDidAppear:animated];
// Works just fine
MBProgressHUD *hud = [[MBProgressHUD alloc] initWithView:self.view];
[self.view addSubview:hud];
[hud show:YES];
// Causes Error -- Won't build
SLPagingViewSwift *sl = [[SLPagingViewSwift alloc] init];
}
@end
SLPagingViewSwift
beyan ediyor: İşte Projemde ViewController.m
var o. Dosyayı sadece bir dosya olarak ayrı olarak eklerseniz, yukarıdaki kod düzgün çalışır. Çalıştığını biliyorum.
tl; dr
nasıl saf Objective-C sınıfında CocoaPods yarattığı saf Swift Framework kullanabilir?
Arıza bulma ve giderme Çoğunlukla çeşitli ithalat çalışıyorum. Elma @import
tarzı here
önerir Ama birden diğer çeşitleri çalışıyorlar:
Ben de olmadığını görmek için zaman zaman diğer birkaç Swift kütüphaneleri çalışıyorum// Compiler Error
#import <SLPagingViewSwift/SLPagingViewSwift.h>
// Builds Fine -- Doesn't Work
#import <SLPagingViewSwift/SLPagingViewSwift-Swift.h>
#import "SLPagingViewSwift-Swift.h"
Ben bir şey tıklatırdı.
Bu konuda yardımcı olabilecek Cocoapods konularında hiçbir şey görmüyorum, ayrıca bloglarında/yayınlarında bir şey bulamadım. Ben projeye ayrı olarak eski moda yolu SLPagingViewSwift.swift
dosya eklerseniz
Not
, gayet güzel çalışıyor.
Anladığım kadarıyla, Objc'den Swift'e her zaman gidebilirsiniz, ancak Swift'in Objc'de bulunmayan dil özelliklerine sahip olmasından ötürü her zaman başka şekilde değil ... –
@EdgarAroutiounian - Bazı açılardan haklısınız ama bu tür bir sınıfla birlikte, bir ObjC sınıfından miras alındığı için bir problem olmamalı. Ayrıca, sadece dosyayı eklersem, yukarıdaki snippet'im oluşturur ve çalışır. (bkz. güncelleme) – Logan
Hey, soru bana çok yardımcı oldu, ben kakao bakla ile FacebookSDK eklemek çalışıyordu ve derlemek çalışırken hatalar var, "ithalat FacebookSDK" hile yaptı –