ওএস এক্স 10.9 / আইওএস 7 এবং এর চেয়ে কমটিতে কি সুইফট-ভিত্তিক অ্যাপ্লিকেশনগুলি কাজ করে?


616

ওএস এক্স 10.9 (ম্যাভেরিক্স) / আইওএস 7 এবং এর চেয়ে কমটিতে সুইফট ভিত্তিক অ্যাপ্লিকেশনগুলি কী কাজ করবে ?

উদাহরণস্বরূপ, আমার কাছে OS X 10.8 (মাউন্টেন সিংহ) চালিত একটি মেশিন রয়েছে এবং আমি ভাবছি যে আমি সুইফটে যে অ্যাপ্লিকেশনটি লিখেছি তাতে এটি চালিত হয় কিনা।

অথবা ম্যাক ওএস ব্যবহার করে আমার কী একটি সুইফট অ্যাপ্লিকেশন তৈরি করা উচিত?


51
ধরে নিই যে সুইফটকে একটি "কার্যকর" এক্সিকিউটেবলের মধ্যে সংকলিত করা হয়েছে এবং ধরে নেওয়া OS তে কোনও সুইফট নির্দিষ্ট রানটাইম লাইব্রেরি নেই, তবে হ্যাঁ, এটি পুরানো সিস্টেমে চালানো উচিত run আমরা এখনও জানি না। এক্সকোড 6 ডাউনলোড করে দেখুন।
রামডি

12
রাজ্য অফ ইউনিয়ন ভিডিওতে একটি সরকারী উত্তর পাওয়া যাবে।
স্টিভেন ফিশার

3
@ আরমড্ডি এফডব্লিউআইডাব্লু: ডাব্লুডাব্লুডিসিতে, সুইফ্ট উপস্থাপনায় সর্বাধিক স্পষ্টভাবে বলা হয়েছিল যে সুইফট এবং অবজেক্টিভ-সি একই রানটাইম রয়েছে।
11684

1
এটি জনসাধারণের জ্ঞান এবং এমনকি মূল প্রবন্ধে এটি উল্লেখ করা হয়েছিল যে এটি অপারেটিং সিস্টেমগুলিতে চলে runs
rhummelmose

3
এই প্রশ্নটি ট্যুর পৃষ্ঠায় উদাহরণ হিসাবে ব্যবহৃত হয়েছে ।
ডোনাল্ড ডাক 13

উত্তর:


520

আমি এটি কেবল আপনার জন্য পরীক্ষা করেছি, সুইফট অ্যাপ্লিকেশনগুলি স্ট্যান্ডার্ড বাইনারিগুলিতে সংকলন করে এবং ওএস এক্স 10.9 এবং আইওএস 7 এ চালানো যেতে পারে।


পরীক্ষার জন্য ব্যবহৃত সাধারণ সুইফট অ্যাপ্লিকেশন:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)

    var controller = UIViewController()
    var view = UIView(frame: CGRectMake(0, 0, 320, 568))
    view.backgroundColor = UIColor.redColor()
    controller.view = view

    var label = UILabel(frame: CGRectMake(0, 0, 200, 21))
    label.center = CGPointMake(160, 284)
    label.textAlignment = NSTextAlignment.Center
    label.text = "I'am a test label"
    controller.view.addSubview(label)

    self.window!.rootViewController = controller
    self.window!.makeKeyAndVisible()
    return true
}

13
Stackoverflow.com/questions/24007050/… দেখুন - এটি এই উত্তরের সাথে বিরোধী (কমপক্ষে "বা এমনকি নিম্নতর" অংশ)।
রামডি

14
আমি কেবল আইওএস 7.0 এবং ওএস এক্স 10.9 পরীক্ষা করেছি। উত্তরে যেমন বলা হয়েছে।
Leandros

@ লিন্ড্রোস ওয়ার কীওয়ার্ড ব্যবহার করে কেন আমাদের এই লাইনে দুটি বার "ইউআইভিউকন্ট্রোলার: ইউআইভিউকন্ট্রোলার: ইউআইভিউকন্ট্রোলার ()" টাইপ করতে হবে? ভারা কি জাভাস্ক্রিপ্ট / সি # এর মতো নয় (যদি তা না হয় তবে এতটা খারাপ)? এটি কি কাস্টিং, তবে বস্তুর প্রকারগুলি সমান চিহ্নের উভয় পক্ষেই সমান?
টিয়েন দো

3
@ টিয়েনডো আমার কোনও সুইফ্ট অভিজ্ঞতা নেই, তবে আমি মনে করি কোলনটি UIViewControllerভেরিয়েবলের ধরণের প্রতিনিধিত্ব করে এবং =সাইন কনস্ট্রাক্টরকে কল করার পরে দ্বিতীয় উপস্থিতিটি (ভেরিয়েবল আরম্ভ করে) বলে মনে হয় first
কমফ্রিচ

2
আইওএসের জন্য: এক্সকোড 6 বিটাতে, আইওএস 6 পর্যন্ত মোতায়েনের লক্ষ্যমাত্রা রয়েছে them আমি এগুলি সবই পরীক্ষা করে নিলাম, কাজ খুঁজে পেয়েছি। একই উত্তর দেয় কিছু উত্তর আছে।
ySiggen

197

ওএস এক্স 10.9 এবং আইওএস 7.0 এ স্যুইফ্ট কোড মোতায়েন করা যেতে পারে। এটি সাধারণত পুরানো ওএস সংস্করণে লঞ্চের সময় ক্রাশ হবে।


4
গ্রেগ, প্রশ্নের উত্তর দিতে এখানে আসার জন্য ধন্যবাদ। 10.8-> 10.9 এবং 6.x-> 7.0 এর পরিবর্তিত কি সম্পর্কে আপনি কিছুটা বলতে পারেন যা সুইফট থেকে উত্পন্ন কোডটি চালানোর অনুমতি দেয়?
ইভান ভুইকা

20
সুইফট ক্লাবগুলি চিহ্নিত করতে উদ্দেশ্য-সি মেটাডেটাতে কিছু বিট সেট করে। ওএস এক্স 10.9 এবং আইওএস 7.0-এ লিববজ্যাক পরিবর্তন করা হয়েছিল সুইফটের আগমনের প্রস্তুতিতে এই বিটগুলি উপেক্ষা করার জন্য। পুরানো ওএস সংস্করণগুলি এই বিটগুলির দ্বারা বিভ্রান্ত হবে।
গ্রেগ পার্কার

9
আমি চাই অনেক যদি অ্যাপল উপার্জন সুইফট (OSX এ 10.7 থেকেই অন্তত) অতি পুরোনো প্ল্যাটফর্মের উপর কাজ করে এমন অ্যাপ্স বিবেচনা করবে প্রশংসা করি। কারণটি হ'ল এই OS এর সাথে আমাদের এখনও অনেক গ্রাহক রয়েছে, তাই আমরা যদি 10.9 ন্যূনতম সমর্থিত ওএস হয় তবে আমরা বছরের পর বছর ধরে সুইফটের সাথে বিকাশ শুরু করতে পারি না!
মাইক লিসচে

2
@ গ্রেগপারকার আপনি যে উত্তরটি সুইফট ২-এর জন্য আপডেট করতে পারবেন কোনও রানটাইম প্রয়োজনীয়তা বদল হয়েছে কিনা?
অ্যান্ড্রে তারানটসভ

1
সুইফ্ট-বিল্ট এক্সিকিউটেবলের জন্য সর্বনিম্ন সমর্থিত ডিপ্লোয়মেন্ট লক্ষ্যগুলি আইওএস 7.0 এবং ওএসএক্স 10.9 থেকে যায়। আইওএস / / ওএসএক্স ১০.৯ বা তার আগের সংস্করণগুলিতে অবতরণযোগ্য এপিআইগুলি উপলভ্য হবে না। বিল্ডিং করার সময়, সুইফট কেবল এসডিকে সমর্থন করে এটি জাহাজে Xcode এ পাঠায়।
ফ্ল্যাশ শেরিদান

103

অ্যাপল ঘোষণা করেছে যে আইওএস 7 এবং ওএস এক্স মাভারিক্সের সাথে সুইফট অ্যাপ্লিকেশনগুলি পশ্চাদপটে সামঞ্জস্যপূর্ণ হবে। ডাব্লুডাব্লুডিসি অ্যাপটি সুইফটে লেখা আছে।


11
সত্যিই ডাব্লুডাব্লুডিসি সুইফটে লেখা আছে ??
সত্যেশ্বরন

7
হ্যাঁ, ডাব্লুডাব্লুডিসি অ্যাপটি সুইফটে লেখা আছে। যেমন তারা গতকাল বলেছিল।
শীল

22
জে ফ্রিম্যান অন্যথায় দাবি করেছেন: twitter.com/saurik/status/473785847926374400
ইভান ভুইকা

2
অ্যাপলের বিপণন কৌশলটি ব্যবসায়গুলির দ্বারা ব্যবহৃত একটি সাধারণ। উইন্ডোজ লিখেছিলেন অ্যাসেমব্লিতে! ওয়েল, শুধুমাত্র বুট-লোডার এবং কিছু অন্যান্য বিষয়, কিন্তু এটা ছিল সমাবেশ লেখা।
কোল জনসন

4
@ ইভানভিউইকা তবে উপযুক্ততা প্রশ্নের উত্তর দেওয়ার জন্য 4 টি ক্লাসই যথেষ্ট।
ইলিয়া n।

100

আপডেট - এক্সকোড 6 বিটা 4 অনুযায়ী

আইওএস 7 এবং ওএস এক্স 10.9 ন্যূনতম স্থাপনার লক্ষ্য

সুইফট সংকলক এবং এক্সকোড এখন আইওএস 7 বা ওএস এক্স মাভারিক্সের সর্বনিম্ন স্থাপনার লক্ষ্য প্রয়োগ করে। পূর্ববর্তী স্থাপনার লক্ষ্য নির্ধারণের ফলে বিল্ড ব্যর্থ হয়।

এক্সকোড 6 রিলিজ নোট থেকে

সুতরাং আমার পূর্ববর্তী উত্তর (নীচে দেখানো) পরবর্তী কোনও বিকাশের ক্ষেত্রে প্রযোজ্য হবে না। আইওএস 6 এবং এর নীচে সুইফ্ট আর উপলব্ধ থাকবে না


আইওএস on এ একটি সুইফট অ্যাপ্লিকেশন চালানো যেতে পারে যদিও অনেক লোক বলছে যে সুইফট কেবলমাত্র আইওএস 7+ এবং ওএস এক্স 10.9+ সমর্থন করবে, আমার অভিজ্ঞতা থেকে তা নয়।

আমি একটি আইওএস 6 ডিভাইসে সুইফটে সম্পূর্ণ লিখিত একটি সাধারণ অ্যাপ্লিকেশনটি পরীক্ষা করেছি। এটি পুরোপুরি সূক্ষ্ম কাজ করে । যেমন অ্যাপল বলেছেন, সুইফট কোডটি বাইনারি সাথে উদ্দেশ্যমূলক সি কোডের সাথে সামঞ্জস্যপূর্ণ। বাইনারি তৈরি করতে এটি একই সংকলক এবং রানটাইম ব্যবহার করে।

এখানে আমি পরীক্ষিত কোডটি দিচ্ছি:

import UIKit

class ViewController: UIViewController {

    override func viewDidLoad() {

        super.viewDidLoad()

        let button   = UIButton.buttonWithType(UIButtonType.System) as UIButton
        button.frame = CGRectMake(100, 100, 100, 50)
        button.backgroundColor = UIColor.greenColor()
        button.setTitle("Test Button", forState: UIControlState.Normal)
        button.addTarget(self, action: "buttonTapped:", forControlEvents: UIControlEvents.TouchUpInside)

        self.view.addSubview(button)
    }

    func buttonTapped(sender: UIButton!) {
        println("buttonTapped")
    }
}

এটি একটি সাধারণ অ্যাপ্লিকেশন, কেবল প্রোগ্রামিকভাবে একটি বোতাম যুক্ত করা। আমার অ্যাপ্লিকেশনটিতে কেবল দুটি ফাইল রয়েছে AppDelegate.swiftএবং ViewController.swift

সুতরাং আপনি যদি আইওএস 8 এসডিকে বা কিছু সুইফ্ট নির্দিষ্ট এপিআই (অংশীদারি-সি এর জন্য সংশ্লিষ্ট এপিআই উপলব্ধ নয়) এর অংশ হিসাবে যুক্ত নতুন কোনও এপিআই ব্যবহার না করে থাকেন তবে আপনার অ্যাপ্লিকেশনটি iOS 6 বা তার পরেও (পরীক্ষিত ও কাজ করা) নির্বিঘ্নে কাজ করবে, এমনকি আইওএস 5 এ (পরীক্ষিত নয়)। সুইফ্টের বেশিরভাগ এপিআই হ'ল বিদ্যমান উদ্দেশ্য-সি এপিআইগুলির প্রতিস্থাপন। আসলে তারা বাইনারি একই হয়।

দ্রষ্টব্য: এক্সকোড 6 বিটা 4 অনুযায়ী সুইফট অ্যাপ্লিকেশনগুলি মোতায়েনের লক্ষ্য হিসাবে আইওএস 7 বা ওএস এক্স 10.9 হওয়া উচিত (উপরের আপডেটটি দেখুন)। সুতরাং দ্রুত iOS6 এবং এর জন্য আর উপলব্ধ হবে না



পূর্ববর্তী সিস্টেম আপডেটগুলির মতোই, কিছু ফ্রেমওয়ার্ক / ক্লাস বন্ধ রয়েছে এবং শর্তাধীন সমর্থন করতে হবে be
মরিয়াম এইচ।

@ টিয়েনডো সেমিকোলনের দরকার নেই :) এমনকি যদি আপনি ভুল করেও (এটি একটি traditionতিহ্য) রেখে দেন যা সমস্যা না হয়
অনিল ভার্গিজ

3
আপনি যদি সত্যিই চান তবে আপনি সেমিকোলন ব্যবহার করতে পারেন। এক লাইনে দুটি বিবৃতি একটি সেমিকোলন দ্বারা পৃথক করা হয়েছে
PaulWoodIII

33

সংক্ষেপে:

সুইফ ভিত্তিক অ্যাপ্লিকেশনগুলি একই অ্যাপ্লিকেশনটি ওএস এক্স ম্যাভারিকস বা আইওএস 7 এ লক্ষ্য করতে পারে ।

কিভাবে এটা সম্ভব ?

এক্সকোড আপনার অ্যাপ্লিকেশনটির বান্ডিলের মধ্যে একটি ছোট সুইফট রানটাইম লাইব্রেরি এম্বেড করে । গ্রন্থাগারটি এম্বেড থাকা অবস্থায়, আপনার অ্যাপ্লিকেশনটি সুইফটের একটি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করে যা অতীত, বর্তমান এবং ভবিষ্যতের ওএস রিলিজগুলিতে চলে।

এই উত্তরটিতে আমার কেন বিশ্বাস করা উচিত?

কারণ আমি এই উত্তরটি বলছি না কারণ একজন আপেল লোক আমাকে টুইটারে বলেছিল বা আমি হ্যালো ওয়ার্ল্ড লিখে এটি পরীক্ষা করেছি।

আমি এটি অ্যাপল বিকাশকারী ব্লগ থেকে নিয়েছি ।

যাতে আপনি এটি বিশ্বাস করতে পারেন।


2
"ছোট" ~ 20 এমবি বা অন্য কিছু লাগে। :)
BangOperator

1
বাইনারিটিতে পুরো রানটাইমটি অন্তর্ভুক্ত করে কিছুটা ফুলে উঠেছে বলে মনে হচ্ছে তবে সুইফট এখনও পুরোপুরি স্থিতিশীল নয় বলে তাদের বুদ্ধিমান হয়ে যায় যে কিছু অংশীদারি গ্রন্থাগার আপডেট করার পরিবর্তে বিকাশকারীদের তাদের নিজস্ব সময়ে সুইফটের নতুন সংস্করণটি পুনরায় সংকলন করতে দেওয়া হবে এবং প্রত্যেকের অ্যাপ্লিকেশন ভাঙা। একবার সুইফট স্থিতিশীল হয়ে উঠলে আমি ধরে নিয়েছি রানটাইম অন্য যে কোনও জায়গায় ডিলিবে সব কিছুর পাশাপাশি সংরক্ষণ করা হবে।
উইলিয়াম টি ফ্রগগার্ড


30

সুইফট ওজেক্টিভ-সি হিসাবে একই রানটাইম ব্যবহার করে এবং একই অ্যাপ্লিকেশনটিতে পাশাপাশি পাশাপাশি ডাব্লুডাব্লুডিসি 2014 মূল বক্তব্যও থাকতে পারে।

চূড়ান্ত উত্তর খুঁজতে এটি এক্সকোড 6 এবং নতুন এসডিকে ব্যবহার করে যাচাই করা / যাচাই করা দরকার ।


1
দেখে মনে হচ্ছে যে এক্সকোড বিটা 6 ব্যবহার করে আপনাকে 10.9.3-এ সুইফট অ্যাপ্লিকেশন চালানোর অনুমতি দেবে, তবে আমি নিশ্চিত না যে একটি সুইফট অ্যাপ্লিকেশন 10.7 বা 10.8 পূর্ববর্তী পর্যন্ত চালাতে সক্ষম হবে?
জন

22

আমি সমস্ত উত্তর পড়েছি যা বলেছিল: না, সুইফট আইওএস-এর চেয়ে কম 7 নিয়ে কাজ করে না তবে আমি বলেছিলাম, হ্যাঁ , আমি একটি সুইফট প্রকল্প তৈরি করেছি যা c.০ স্থাপনার টার্গেট সহ এক্সকোড ৫ এ চলবে।

  • আমি কেবল এক্সকোড 6 বিটাতে একটি সুইড প্রোগ্রামিং ভাষা নির্বাচন করে একটি ডেমো প্রকল্প তৈরি করেছি project
  • এক্সকোড 6 বিটা বন্ধ করুন এবং আমি এক্সপোড 5 এ স্থাপনার লক্ষ্য 6.0 সহ এই ডেমো প্রকল্পটি খুলি
  • এবং সিমুলেটর 6.1 নির্বাচন করুন ।

তারপরে সেই প্রকল্পটি সিমুলেটর 6.1 এ ভাল চলে । আমার ম্যাকোস এক্সটি 10.9.3 , তাই আমি হ্যাঁ বলেছি, এটি আইওএস 7-এর চেয়ে কম চলে 10.10.3 ম্যাক ওএস এক্সের সাথে

এখানে এটি সিমুলেটারের একটি স্ক্রিনশট:

এখানে চিত্র বিবরণ লিখুন

এখানে একটি ডেমোও রয়েছে


3
প্রশ্ন: সুইফট সমর্থন ব্যতীত এক্সকোড -5 কীভাবে সুইফট উত্স তৈরি করে?
সাবিন সেবাস্তিয়ান

আপনি সিমুলাটোর স্ক্রিনশটটি দেখতে পারেন :) আমি ফটোশপে উপরে সংযুক্ত স্ক্রিনশট তৈরি করিনি
নিতিন গোহেল

মানে আমি একটি উদ্দেশ্য সি অ্যাপ্লিকেশনটিকে দ্রুত রূপান্তরিত করেছি এবং আইওএস 6 এ থাকা গ্রাহকরা আছে। তাহলে সুইফট অ্যাপটি কি কাজ করবে?
মনীশ শর্মা

প্রথমে আপনি ডেমো কোড দিয়ে চেষ্টা করুন যদি এটি কাজ করে তবে হ্যাঁ সেই চূড়ান্ত কাজ করে
নিতিন গোহেল

20

যদিও কোড এটা নিশ্চিত করেছে অ্যাপল নিজেই বলেছেন, সুইফট তাদের প্রযুক্তিগত তান (ইন আইওএস 7 এবং মাভারিক্স উপর সামঞ্জস্যপূর্ণ হতে হবে প্ল্যাটফর্মের রাজ্য এ অধিবেশন 102 34 মিনিট 00 সেকেন্ড চিহ্ন প্রায়) WWDC 2014


15

বিটা 4 রিলিজ নোট অনুসারে সুইফট অ্যাপ্লিকেশনগুলি আইওএস 7 এবং তদূর্ধ্বের উপর সমর্থিত । এক্সকোড 6 বিটাতে আইওএস 6.0, 6.1, 7.0, 7.1, 8.0

ওপেন এক্স এক্স 10.9 এবং তারপরে প্ল্যাটফর্মগুলিতে সুইফট অ্যাপ্লিকেশনগুলি সমর্থিত । ওএস এক্স 10.4 থেকে 10.10 ডিপ্লোয়মেন্ট টার্গেটে। আমি 10.5 থেকে 10.10 লক্ষ্য করে পরীক্ষা করেছি এবং 10.9.3 এ চলছে


1
আমি মনে করি বিভিন্ন স্থাপনার লক্ষ্যমাত্রা এখনও সঠিক নয় (এক্সকোড 6 একটি বিটা)। আপনি মানটি নির্বাচন করতে পারেন তার অর্থ এটি কাজ করে না। আমি ওএসএক্স 10.7 টার্গেট হিসাবে চেষ্টা এবং এটি হয়নি না কাজ করি। এছাড়াও লক্ষ করুন যে গ্রেগ পার্কার প্ল্যাটফর্মগুলি সম্পর্কে একটি লেখক নিশ্চিতকরণ উপরে দিয়েছেন।
মাইক লিসচে

@ মাইক লিস্কেকে আবারও আমার যুক্তি ব্যাক আপ করার জন্য আমার বেশ কয়েকটি পরীক্ষা হয়েছিল। আমি যখন ডিপ্লোয়মেন্ট টার্গেট 10.7 নির্বাচন করি তখন আমি ওএস এক্স অ্যাপটি চালাতে পারি। তবে আমি প্রশংসা করি যে আপনি ওএস এক্স অ্যাপ্লিকেশন সমর্থনগুলির থ্রেড নিয়ে এসেছেন।
vladof81

আপনি আমার ফলাফলগুলি কীভাবে ব্যাখ্যা করবেন? এবং গ্রেগ পার্কার যা লিখেছেন তা সম্পর্কে কী? আমি খুব খুশি হব যদি সুইফট অ্যাপ্লিকেশনগুলি 10.7-এ কাজ করে তবে আমি এখনও একটি কার্যকরী উদাহরণ দেখেছি। অবশ্যই আমি স্থাপনার লক্ষ্য হিসাবেও 10.7 নির্ধারণ করতে পারি, তবে এটি কোনও পার্থক্য করে না। অ্যাপটি ক্রাশ করে hs
মাইক লিসচে

@ মাইক লিস্কেকে, আপনি কি ডিভাইসে আইওএস অ্যাপ্লিকেশন পরীক্ষা করেছেন?
vladof81

1
আমি এটিকে দেখেছি এবং এক্সকোড 6 বিটাতে (বিপরীতে একই) সমস্ত স্থাপনার লক্ষ্য পরীক্ষা করেছি। 2 টি পৃথক পরীক্ষার অ্যাপ্লিকেশন ব্যবহার করে সূক্ষ্ম কাজ করেছে।
ySiggen

14

এটি প্রদর্শিত হয় যে সুইফট অ্যাপ্লিকেশনগুলি ওএস এক্স 10.7 এ চালিত হয় না । আমি সবেমাত্র একটি সাধারণ জিইউআই অ্যাপ্লিকেশন তৈরি করেছি (একটি দর্শন, একটি লেবেল, একটি বোতাম) যা মাভেরিক্সে সূক্ষ্মভাবে চলে। বেস এসডিকে 10.9 এবং ডিপ্লোয়মেন্ট টার্গেট 10.7 এ সেট করা আছে। আমি ডেরিভডডাটা ফোল্ডার থেকে আমার অ্যাপ্লিকেশনটি আমার 10.7 ভার্চুয়াল মেশিনে অনুলিপি করেছি এবং এটি শুরু হওয়ার সময় ক্রাশ হয়, এই ত্রুটিটি দেখান:

Crashed Thread:  0

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000002, 0x0000000000000000

Application Specific Information:
dyld: launch, loading dependent libraries

    Dyld Error Message:

  Library not loaded: /System/Library/Frameworks/CoreGraphics.framework/Versions/A/CoreGraphics
  Referenced from: /Users/USER/Desktop/Swift-Test.app/Contents/MacOS/../Frameworks/libswiftAppKit.dylib
  Reason: image not found

Binary Images:
       0x109c65000 -        0x109c6afff +private.Swift-Test (1.0 - 1) <649695D0-58FD-3D02-9176-2D40D4E711F2> /Users/USER/Desktop/Swift-Test.app/Contents/MacOS/Swift-Test
       0x109c83000 -        0x109dbffff +libswift_stdlib_core.dylib (1.0 - 600.0.34.4.5) <10AAC369-9404-321D-A892-49F65856D7AF> /Users/USER/Desktop/Swift-Test.app/Contents/Frameworks/libswift_stdlib_core.dylib
...

তবে এই বার্তাটি বিরক্তিকর, কারণ এই ভিএম-তে অবশ্যই একটি কোরগ্রাফিক্স গ্রন্থাগার রয়েছে। অন্যান্য অ্যাপ্লিকেশনগুলি যা কোরগ্রাফিক্সের ভারী ব্যবহার করে তা ঠিক কাজ করে।


14

এটিই পোস্টটি আমি আপেল সুইফট ব্লগ থেকে পড়েছি, এটি সহায়ক হতে পারে:

অ্যাপের সামঞ্জস্যতা :

আপনি যদি একটি সুইফট অ্যাপ লেখেন তবে আপনি বিশ্বাস করতে পারেন যে আপনার অ্যাপটি ভবিষ্যতে ভালভাবে কাজ করবে। আসলে, আপনি একই অ্যাপ্লিকেশনটি দিয়ে ওএস এক্স ম্যাভারিকস বা আইওএস 7 এ লক্ষ্য করতে পারেন target এটি সম্ভব কারণ Xcode আপনার অ্যাপ্লিকেশনের বান্ডেলের মধ্যে একটি ছোট সুইফট রানটাইম লাইব্রেরি এম্বেড করে। গ্রন্থাগারটি এম্বেড থাকা অবস্থায়, আপনার অ্যাপ্লিকেশনটি সুইফটের একটি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করে যা অতীত, বর্তমান এবং ভবিষ্যতের ওএস রিলিজগুলিতে চলে।

বাইনারি সামঞ্জস্য এবং ফ্রেমওয়ার্ক:

আপনার অ্যাপ্লিকেশনটির রানটাইম সামঞ্জস্যতা নিশ্চিত হওয়ার পরে, স্বয়ংক্রিয়ভাবে সুইফট ভাষাটি বিকশিত হতে থাকবে এবং বাইনারি ইন্টারফেসটিও পরিবর্তিত হবে। সুরক্ষিত থাকতে, আপনার অ্যাপ্লিকেশনের সমস্ত উপাদানগুলি একসাথে কাজ করার বিষয়টি নিশ্চিত করতে Xcode এবং সুইফ্ট সংকলকটির একই সংস্করণ দিয়ে তৈরি করা উচিত।

এর অর্থ ফ্রেমওয়ার্কগুলি সাবধানতার সাথে পরিচালনা করা দরকার। উদাহরণস্বরূপ, যদি আপনার প্রকল্প এম্বেড থাকা এক্সটেনশনের সাথে কোড ভাগ করতে ফ্রেমওয়ার্ক ব্যবহার করে তবে আপনি ফ্রেমওয়ার্ক, অ্যাপ এবং এক্সটেনশানগুলি একসাথে তৈরি করতে চাইবেন। বাইনারি ফ্রেমওয়ার্কগুলিতে নির্ভর করা বিপজ্জনক হবে যেগুলি সুইফট ব্যবহার করে - বিশেষত তৃতীয় পক্ষের থেকে। সুইফ্ট পরিবর্তন হওয়ার সাথে সাথে frame ফ্রেমওয়ার্কগুলি আপনার বাকী অ্যাপ্লিকেশনটির সাথে সঙ্গতিপূর্ণ হবে না। বাইনারি ইন্টারফেস যখন এক বা দুই বছরে স্থিতিশীল হয়, তখন সুইফট রানটাইম হোস্ট ওএসের অংশ হয়ে যাবে এবং এই সীমাবদ্ধতা আর থাকবে না।


12

আমি একটি আইপড টাচ (তৃতীয় জেন) ডিভাইসে একটি খালি-হাড়, সুইফট-ভিত্তিক অ্যাপ চালনা পরীক্ষা করেছি tested মনে হচ্ছে সুইফট-ভিত্তিক অ্যাপ্লিকেশানগুলি না আইওএস 5.x সঙ্গে কাজ কিন্তু না আইওএস 6.x. সঙ্গে কাজ

আমি আইওএস 5.0.1 এর সাথে পরীক্ষার অ্যাপ্লিকেশনটি চালু করার চেষ্টা করলে ডিবাগ লগটিতে কী প্রদর্শিত হবে তা এখানে:

dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswift_stdlib_core.dylib with errno=1
dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftCoreGraphics.dylib with errno=1
dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftDarwin.dylib with errno=1
dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftDispatch.dylib with errno=1
dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftFoundation.dylib with errno=1
dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftObjectiveC.dylib with errno=1
dyld: F_ADDFILESIGS failed for /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswiftUIKit.dylib with errno=1
dyld: Symbol not found: _OBJC_CLASS_$_NSObject
  Referenced from: /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswift_stdlib_core.dylib
  Expected in: /usr/lib/libobjc.A.dylib
 in /private/var/mobile/Applications/59E31E79-9525-43B0-9DF6-8FEF3C0080F1/SwiftTestApp.app/Frameworks/libswift_stdlib_core.dylib

আইওএস .1.১..6 এর জন্য অ্যাপ্লিকেশনটি ত্রুটি বার্তাগুলি প্রদর্শন না করেই দুর্দান্তভাবে চালিত হয়।


12

এখানে অনেক পুরানো উত্তর রয়েছে বলে মনে হচ্ছে তাই আমি কেবল সুইফট টিমের অফিসিয়াল প্রতিক্রিয়া পোস্ট করতে চেয়েছিলাম। ওএস এক্স মাভারিকস এবং আইওএস 7 এর সাথে সুইফট পিছনের দিকে সামঞ্জস্যপূর্ণ

অ্যাপল বিকাশকারী সুইফ্ট ব্লগ: সুইফট যে কোনও হিসাবে অবজেক্টিভ-সি আইডি

জুলাই 11, 2014

সঙ্গতি

ডাব্লুডাব্লুডিসিতে আমরা সবচেয়ে প্রচলিত প্রশ্ন শুনেছিলাম, "সুইফ্টের জন্য সামঞ্জস্যের গল্পটি কী?" এটি একটি দুর্দান্ত প্রথম বিষয় মনে হচ্ছে।

অ্যাপের সামঞ্জস্যতা সহজভাবে বলতে গেলে, আপনি যদি আজ একটি সুইফট অ্যাপ্লিকেশন লিখেন এবং আইওএস 8 এবং ওএস এক্স যোসোমাইট প্রকাশিত হয় তখন এই ফল এপ স্টোরটিতে জমা দিন, আপনি বিশ্বাস করতে পারেন যে আপনার অ্যাপটি ভবিষ্যতে ভালভাবে কাজ করবে। আসলে, আপনি একই অ্যাপ্লিকেশনটি দিয়ে ওএস এক্স ম্যাভারিকস বা আইওএস 7 এ লক্ষ্য করতে পারেন target এটি সম্ভব কারণ Xcode আপনার অ্যাপ্লিকেশনের বান্ডেলের মধ্যে একটি ছোট সুইফট রানটাইম লাইব্রেরি এম্বেড করে। গ্রন্থাগারটি এম্বেড থাকা অবস্থায়, আপনার অ্যাপ্লিকেশনটি সুইফটের একটি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করে যা অতীত, বর্তমান এবং ভবিষ্যতের ওএস রিলিজগুলিতে চলে।


11

আমি 10.8-তে একটি খুব সাধারণ অ্যাপও চেষ্টা করেছি (একটি বোতাম, একটি লেবেলে পাঠ্য সেট করে)। এটি স্টার্টআপে ক্র্যাশ হয়েছিল, যেমন গ্রেগ পার্কার বলেছেন:

Dyld Error Message:
  Symbol not found: __dispatch_source_type_memorypressure
  Referenced from: /Volumes/*/SwifTest.app/Contents/MacOS/../Frameworks/libswiftDispatch.dylib
  Expected in: /usr/lib/libSystem.B.dylib
in /Volumes/*/SwifTest.app/Contents/MacOS/../Frameworks/libswiftDispatch.dylib

(এটি 10.7 এর স্থাপনার লক্ষ্য ব্যবহার করছিল)


10

নিম্নলিখিত কোড ব্যবহার করে দেখুন:

এটি স্টোরি বোর্ড ছাড়াই কাজ করছে:

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    self.window = UIWindow(frame: UIScreen.mainScreen().bounds)
    self.window!.backgroundColor = UIColor.whiteColor()

    // Create a nav/vc pair using the custom ViewController class

    let nav = UINavigationController()
    let vc = ViewController(nibName: "ViewController", bundle: nil)

    // Push the vc onto the nav
    nav.pushViewController(vc, animated: false)

    // Set the window’s root view controller
    self.window!.rootViewController = nav

    // Present the window
    self.window!.makeKeyAndVisible()
    return true
}

এবং কিভাবে নাভ.রোটভিউ কনট্রোলার ব্যবহার করবেন ??
অ্যালান

8

হ্যাঁ, আসলে অ্যাপল ঘোষণা করেছে যে সুইফট অ্যাপসটি আইওএস 7 এবং ওএস এক্স মাভারিক্সের সাথে পিছনে সামঞ্জস্যপূর্ণ হবে। তবুও ডাব্লুডাব্লুডিসি অ্যাপ্লিকেশনটি সুইফ্ট প্রোগ্রামিং ভাষায় রচিত is


8

যখন এটি সুইফ্ট ফ্রেমওয়ার্কের কথা আসে। আজকের হিসাবে, এক্সকোড সংস্করণ 6.1.1 (6A2008a) সহ, যদি সুইফট কাঠামোটি আইওএস 7.1-এ টার্গেট করা থাকে তবে লিঙ্কারের রিপোর্ট সতর্কতা

ld: warning: embedded dylibs/frameworks only run on iOS 8 or later.

এবং অ্যাপ্লিকেশন অ্যাপস্টোরে জমা দেওয়া যাবে না। এই সমস্যাটি দেখুন: ডায়নামিক লাইব্রেরি এবং ফ্রেমওয়ার্কগুলি আইওএস 7 দিয়ে যেতে বাধা দিতে লিঙ্ক int


সুইফট ফ্রেমওয়ার্ক Mach-O Typeঅবশ্যই হওয়া উচিত Dynamic Library, তবে আইওএস 7 Static Libraryকেবল গ্রহণ করে ।
ডনসং

7

কুইক আপডেট, ফেব্রুয়ারী 15, 2015 থেকে কার্যকর , আমরা স্টোরগুলিতে অ্যাপ্লিকেশনগুলি জমা দিতে পারি না যেগুলি iOS 8 এর আগে একটি এসডিকে ব্যবহার করে তৈরি করা হয়েছিল । সুতরাং, এটি মাথায় রেখে, এই সমস্যাটি সম্পর্কে চিন্তা না করাই ভাল, কারণ অনেকেই পরামর্শ দিয়েছেন যে সুইফটে তৈরি অ্যাপ্লিকেশনগুলি ওএস এক্স 10.9 এবং আইওএস 7.0 এও স্থাপন করা যেতে পারে ।


আপনি আমাদের একটি উত্স প্রদান করতে পারেন?
বিনুস

1
বেস এসডিকে এবং স্থাপনার লক্ষ্যমাত্রার মধ্যে পার্থক্য রয়েছে। আপনি এর একটি বেস SDK এর থাকতে পারে iOS 9 এর এবং একটি ডিপ্লোয়মেন্ট উদ্দিষ্ট আইওএস 7 এবং আইটিউনস Connect এ জমা দিতে হবে। ডাউনভোটিং কারণ আপনি কোনও উত্স সরবরাহ করেন নি।
সিউর

1
বর্তমান অ্যাপল ডকুমেন্টেশনগুলি এখনও আইওএস ৪.৩-এর জন্য সমর্থন উল্লেখ করেছে: বিকাশকারী
অ্যাপ্লিকেশন /

1

জবাব দেওয়া কোড-স্নিপেটটি লেয়ান্ড্রোস পোস্ট করেছেন কিছুটা পুরানো বলে মনে হচ্ছে। আমি সুইফট 5 এ এটি সংশোধন করে তৈরি করেছি made

সুইফট 5

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: NSDictionary?) -> Bool {
    self.window = UIWindow(frame: UIScreen.main.bounds)
    let controller = UIViewController()
    let view = UIView(frame: CGRect(x: 0, y: 0, width: 320, height: 568))
    view.backgroundColor = UIColor.red
    controller.view = view

    let label = UILabel(frame: CGRect(x: 0, y: 0, width: 200, height: 21))
    label.center = CGPoint(x: 160, y: 284)
    label.textAlignment = NSTextAlignment.center
    label.text = "I'am a test label"
    controller.view.addSubview(label)

    self.window!.rootViewController = controller
    self.window!.makeKeyAndVisible()
    return true
}
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.