8 ms·
Will they include a lesson on how to make Byte set up a provisioning profile in itunesconnect and install a code signing key in your local keychain and and ente
by gavinpc 10y ago
Will they include a lesson on how to make Byte set up a provisioning profile in itunesconnect and install a code signing key in your local keychain and and enter the MAC address of his tethered device into developer.apple.com and then hopefully, just maybe XCode will allow you to run what you wrote?
- elliotec 10y agoProbably not.
- GuiA 10y agoSnarky snarky! Semi warranted. But I teach swift to teenagers, and have set up hundreds of devices/machines with Xcode/etc at this point. Yes, it's still prone to random bugs, like most software, but with sideloading it's getting pretty darn close to plug in your phone, press Run, and It Just Works.
- gavinpc 10y ago> It Just Works Even if that's true, you're still locked into Apple's world—a privilege you paid for. If I'm snarky it's because calling this "revolutionary" is a slap in the face to the people who've spent their careers working to understand early education through computers, without the ulterior motive of said platform lock-in.
- bluejekyll 10y agoI cry a little every time that I realize that Apple and Microsoft have traded positions. Development tools should be open, at least we should be able to target platforms generically.
- durandal1 10y agoSwift is both open and runs on multiple platforms.
- kyriakos 10y agoApple was never really open to other platforms though. I don't think they traded positions then, Microsoft evolved a bit while Apple continues with the same approach.
- davidw 10y agoYep. Apple has always wanted to control both the hardware and software, whereas Microsoft 'settled' for controlling the software on a fairly open hardware platform.
- Someone 10y agoNot always. Steve wanted to, but Steve disagreed. For the Apple 2, the net effect was that it shipped with hardware schematics (everything, including the power supply) and commented ROM listings. Even the original Mac still had fairly comprehensive documentation of parts of its hardware, if you bought the phone book edition of Inside Macintosh. And of course, IBM didn't 'settle' for opening up the platform. Compaq and Phoenix Technologies opened it for them.
- richardwhiuk 10y agoThat's Steve Wozniak and Steve Jobs respectively for those who struggled to parse that.
- bluejekyll 10y agoI feel like Apple was more open to alternate distribution options at the beginning of OSX, but I might be wrong in this. tvOS and watchOS have made their software distribution completely Apple lock-in, i.e. you can only do it with Apple tools, see bitcode requirements.
- pjmlp 10y agoThey had to, as they were about to close shop. Apple was the last surviving company of home computers, from the likes of Acorn, Atari, Commodore, MSX,..... All of them controlled the whole experience, both hardware and software. By the time Apple bought NeXT (which in practice was actually the other way around), they need to attract developers back to their platform, so they played nice. Nowadays they have plenty of money on the bank and can be back to being as they always were.
- DrJokepu 10y agohttps://github.com/apple/swift https://github.com/apple/swift
- bluejekyll 10y agoTry deploying a non-apple language to tvOS and/or watchOS. Then come back and tell me that they are "open". Bitcode sounded so good back when it came out, but is actually a way of guaranteeing that people only use Apple tools for shipping software.
- pjmlp 10y agoYou mean, like Java, C++, C#, F#? https://www.xamarin.com/platform https://www.xamarin.com/platform https://software.intel.com/en-us/multi-os-engine https://software.intel.com/en-us/multi-os-engine
- badlogic 10y agoNone of these do proper bitcode. And once they do, the managed runtimes will be slow as molasses.
- pjmlp 10y ago> None of these do proper bitcode. C++ surely does unless you don't use Apple's compiler, as for the others they are in the process of making it happen. > And once they do, the managed runtimes will be slow as molasses. I guess you mean as fast as the Objective-C and Swift managed runtimes.
- badlogic 10y agoOverlooked C++. My point stands for managed runtimes. ObjC/Swift don't have to deal with the following laundry list of things the managed runtimes need to implement: - Explicit instrumentation for null pointer checks (slow) - Explicit instrumentation for stack overflow checks (slow) - Explicit instrumentation for GC safe points (slow) - Exceptions and unwinding implemented on top of cxx_throw instead of signals and setjmp/lonjmp (slow and error prone) - Defensively generated trampolines for reflection for any thinkable parameter type permutation There are quite a few more details that make managed runtimes under bitcode suboptimal. Taking away things like read/write register access, signals and system APIs like setjmp/longjmp puts managed runtimes at a huge disadvatage. Neither Swift nor ObjC (and to a large degree C++) need to solve any of these problems.
- pjmlp 10y agoThey aren't much different from all the other home computer vendors, Atari, Comodore, Acorn,....
- pjmlp 10y agoWhen I started getting around computers we had to pay for everything and most of the programming languages were specific to the machine one had, way before Apple mattered at all in the home market. Apple 8 bit computers weren't even relevant in Europe. Yet I managed to learn pretty well.
- 72deluxe 10y agoIt's tricky. Even if you write for Windows, you'll be using APIs that only work on there (eg if you write in C++ using MFC or COM, or write using .NET and eg. find that you can only do certain things with Invoke by calling into system DLLs, which you won't be able to do on other platforms, despite the open source nature of .NET these days). If you write for iPad, you are restricted to their iOS APIs. If you write for Mac OS, you'll be restricted to there, as you use Cocoa. If you write for Android, you'll be restricted to there, as you write using Android's APIs despite the existence of Java and some of its runtime. You could attempt C++ on here but the NDK is a bolt-on. The only true solution seems to be to write in a language that is available across all platforms (C++?) using a library that works across all of them (doesn't exist), but this is non-existent as the ways the systems behave (windowing, application process cycle) is different on each platform and it would be foolish to believe that they should be the same, or that they behave in the same way. I think we should just accept that each platform has its merits and disadvantages and stop aiming for this dream of easy cross-compatibility with little developer effort. On all platforms we have to buy the hardware, sometimes have to buy the tooling, and then have to submit our applications to the respective markets or distribution channels (even on Linux, we can't just chuck our stuff at repos, particularly if we want to sell it). Ultimately if we write for a platform, there will always be lock-in of some sort (eg why can't I run my EXE on Mac?).
- Angostura 10y agoUltimately, if those people with their years of understanding have done a better job of understanding the needs of teachers and pupils then Apple will fail. If Apple doesn't fail, then those people need to have a long hard look at their careers.
- ben_jones 10y agoOut of curiosity, how many of those teenagers come from impoverished circumstances? I find a certain irony in schools teaching things like iOS development to demographics which very likely cannot responsibly afford an apple computer or even an iPhone. I still think it's a good thing, just that it brings a different perspective to the "walled-garden" argument against many brands/services as well as tech education as a whole.
- GuiA 10y agoMost of them do. We teach basic Ruby and Swift (with UIKit), certainly not "iOS development". The workshop is only over 3 days, with some homework. The goal is not to make them the developers of tomorrow - just to expose them to programming, and light CS thinking. They don't get these opportunities at school. If they don't like it, well hey at least they tried. If they like it, then great! They have discovered a new passion they might have not found otherwise. We've been doing this for a few years now, and many of them (about 40%) have gone on to study CS or something related in college; of those, a fair number also got the motivation to go to college partly because it'd allow them to study CS. We very much emphasize the fact during the workshop that if they understand the basics (variables, loops, functions, etc.) then they can learn any language. A big part of the pedagogy is encouraging them to try things, fail, use Stack Overflow, etc. Gender split is basically 50/50, a fair mix of black/hispanic/asian kids with the few white kids sprinkled in. All that said, a fair amount of them do have iPhones.
- jahewson 10y agoYou can pick up an iPhone 5c on eBay for under $150.
- madeofpalk 10y agoFor what it's worth, this is a problem they (said) they addressed in latest Xcode. We'll see how that turns out in practice I guess.
- mightykan 10y agoThey’ve been fixing this issue with every release of Xcode and it’s still broken. At some point we must realize that code-signing is something that the Xcode team will never be able to get working reliably due to incompetence or apathy (or both).
- feelix 10y agoI have a large complex project in XCode. (It's this: http://macdaddy.io/mac-backup-software http://macdaddy.io/mac-backup-software) It looks simple but it's actually about 6 different programs all stuck together. Codesigning breaks on it periodically, and it takes days to fix. XCode 8 has just broken this worse than any other XCode version in history. It seems to have done so by trying to automate all its requirements. So now it outputs broken bundles when I compile it. This has taken me all of today, and I'll be surprised if I have it working within the next 6 hours of work. This is a fairly typical experience of using XCode for me. Many times getting codesigning working correctly and getting it working within the mac app store parameters takes more time than writing the code. In short: Using XCode is harder than programming.
- tempodox 10y agoYou can never, ever, just upgrade Xcode (or anything important, really) on a production Mac. Xcode, especially, needs to be installed on a sandbox machine first where it can destroy anything it wants. It's an effort, but still better than having production explode in your face.
- feelix 10y agoThat's probably a good approach. Still, when my certificates expire (which makes the provisioning profiles invalid), that alone will take hours or days to fix. So even if it's left in a completely untouched environment certificates expire after a year or two and I cannot recompile the project without a lot of work.
- api 10y agoBut mobile is the future! (Where nobody can create anything.)
- kyriakos 10y agoIpad is also a mobile device though.
- TeMPOraL 10y agoAnd also not exactly good for creating (though arguably things could be made better for tablets with improved software and less idiocy like abstracting away the filesystem).
- kyriakos 10y agoTablets are not exclusive to Apple though. But in all seriousness I don't know anyone using a Microsoft Surface as a tablet except for maybe watching a movie.
- simonh 10y agoI find mine fantastic for creating, it just depends what you want to create. A few days ago I got a programming assignment and wrote half of it in Pythonista on my phone on the train going home. I play roleplaying games and wrote up 95% of my current campaign notes, rules and reference sheets on my iPad. My daughter sketches on it with the pencil and uses it as a digitiser with the Mac. These things are fantastic creation devices. Sure, some people don't like onscreen keyboards and such, but everybody has their preferences and comfort zones especially when it comes to creative activities. It's a very personal activity. But at this stage unequivocally saying mobile devices are not good for creating is just plain flat out provably false.
- jaegerpicker 10y agoMy iPad Prod is Fantastic for creation. It's a far better drawing/art tool unless I spend another $1k+ on a cintiq, it's a great video editor, really good music editor, and I even code on it a ton. It's without a doubt my favorite device. I have a surface pro 4, macbook pro, iphone 6 plus (soon a 7 plus), and my iPad Pro 12.9 in regular usage. I need all of them but for notes and art creation the iPad is the hardest to replace.
- stevetrewick 10y ago>Will they include a lesson on how to make No. Because it's not relevant to working with code in swift playgrounds on an iPad. It's not even relevant to working with XCode and hasn't been for some time now. I'd never say XCode 'just works', but it currently works better than it did. Especially around provisioning and most especially around just getting some code to run on a device. I well remember that WTAF moment when I plugged my first iPhone into my first mac and realised that just to run hello world I would need to give Apple money and then do those things that you said. Doesn't work like that anymore. Edit: fat fingers
- almata 10y agoCorrect me if I'm wrong (it's been a while), but I'd say you never needed to give Apple money to run your code on your device. You just needed to create a free developer account. The payment option was to publish apps in the AppStore etc.
- gavinpc 10y agoDo you count the money you spent on the Mac and the iOS device?
- almata 10y agoI'm pretty sure stevetrewick wasn't talking about this when he wrote "and realised that just to run hello world I would need to give Apple money and then do those things that you said". If you put it that way, it's impossible to write any code and run it on any device without paying something to some company.
- stevetrewick 10y agoQuite. It's not even a huge amount considering all the other stuff you get along with it (and it was less then) but it still felt weird as I'd just come off a stint of Windows Mobile stuff (shudder) which was pretty much plug in and hack - though of course in that case you still have to give MSFT money for the dev tools. (And the host. And the devices. And the chair to sit on ...)
- kriro 10y agoThe playground looks pretty cool but I kind of second this. I recently built something for an iPad (ad-hoc install for a client on a single device). Never developed anything in the Apple ecosystem. XCode was surprisingly stubborn and it seemed very non-rapid to set everything up. The build process was also kind of slow. Since it was a Unity Engine based up I ended up building and testing everything on Android and only pushing the final product to the iPad (and testing it on that device obviously). For these learning environments it would be pretty awesome if there was a simple way to share the actual app. At least it seems they make it easy to share the code and a video which is a decent start.
- NEDM64 10y agoJust another iHater on the Internet, having fun with custom roms made by 16 year olds to run a newer version of Android on your $800+ phone, and Bluetooth doesn't work?
- hockeybias 10y agoI came from a Visual Studio background and tried to code in XCode for a summer and was appalled at what an awful environment it was. ...And this was after I had learned that it had been highly improved since its prior release. I felt like I was working in a torturous 'This would have been state of the art in 1992' environment! Ick.
- coldtea 10y ago>and then hopefully, just maybe XCode will allow you to run what you wrote? Yeah, it's so difficult that App Store only has about 1.5 million apps -- merely the largest in the world... Either those belong to a REALLY determined million of devs, or it's not that hard really...