New Xcode8 extension development process - swift

Recently I'm running the Xcode plugin migration to Xcode8 built in version.
But I can't find enough documentation since it's new and the resource is very rare.
Does anybody know how to publish / install / update /remove process of the new extensions?
I've try many solution but many of the users say it doesn't work.
Here is my project call Swimat - to format your swift code.
https://github.com/Jintin/Swimat/tree/extension
Thanks for any kind of information.

Are you asking how your users can install/update/remove your extension?
If so, they just need to launch your container app. Once they do, they'll see the extension in System Preferences (where they can also disable it if necessary), and it'll show up when they launch Xcode.
Distribution of your source editor extension works just like other types of App Extensions. See: App Extension Programming Guide
If your users are having trouble running any source editor extensions, it's possible they'll need to follow a workaround from the Xcode 8 release notes:
To use the Editor's Comment/Uncomment Selection and Add Documentation
commands—as well as other installed Xcode Extensions—on OS X version 10.11,
launch Xcode and install additional system components, then restart your
Mac. (26106213)"

Related

Using AppCode with Flutter plugin

How can I use AppCode for the ios-specific parts of my Flutter plugin?
I've created the plugin with flutter create --template=plugin --platforms=ios myplugin
The command doesn't generate an XCode project or workspace for the plugin itself but it includes an example app for which it does generate these. Running flutter build ios in example then creates symlinks to the plugin code in example/ios/.symlinks that I can use to edit the actual Swift code with auto completion, code navigation etc. When I open these files in AppCode however, I get the below error and no coding assistance is available at all:
I previously used AppCode quite a lot to maintain some Flutter plugins' iOS code (but switched jobs and didn't need AppCode or Xcode). However, I recently started making a free app, and also wanted to contribute to a Flutter plugin for iOS, I wanted AppCode again. I got AppCode working again, so I wanted to share.
In your flutter directory:
For editing/debugging/running Flutter apps' iOS code: run appcode ios
For Flutter plugins, run appcode example/ios (not appcode ios)
Some principles:
The files don't show up immediately, use Command + Shift + O to find your file. Then Opt + F1 to show it in the project navigator.
Built at least once using flutter run or Xcode (to make sure configuration is set up).
You cannot escape Xcode. Xcode and AppCode are complementary. Find the balance 😂🤓. Refactoring code, debugging the application, searching and reading code works really well in AppCode. Xcode does reading configuration better or debugging builds.
If you get random errors (e.g. everything fails but the error is build failed in AppCode, you should open in Xcode or build/run the flutter app for iOS: flutter run and read the error messages.
If you want to debug both Flutter and iOS simultaneously, start the iOS debugger, then "Flutter attach" in android studio (maybe this is possible in VSCode too, but I don't use that).
Here's an example screenshot of AppCode with debugger working. You might be curious if telemetry flag you set in Flutter was actually being set in the iOS side... maybe there's a bug. But I take privacy seriously and confirm the telemetry is disabled. I also watch network traffic sometimes. 😂. If you're interested, you can then follow that to it's dependencies (manually, using by reading package.swift), and find out it is set to true by default.
UserDefaults.standard.register(defaults: [
#keyPath(UserDefaults.MGLMapboxMetricsEnabled): true
])

Telerik Nativescript for Blackberry

We know that Blackberry 10 can run Android app. Does somebody tried Telerik Nativescript for Android and make it run for Blackberry 10?
If so, is it possible to explain the steps to be able to do it? Does Webworks gives any help?
Telerik NativeScript for Android does indeed work on BlackBerry OS 10 I've tried on (10.3.2.2474). I'll list some tips to get you started, but please keep in mind that NativeScript doesn't officially support BlackBerry OS.
Deployment with the {N} CLI tool (tns) might be problematic - it produces an apk for the app, but it can't deploy it on the device itself, so you need to transfer it somehow and install it on the device.
Alternatively you can use Telerik AppBuilder to build the app (either version will work - VS plugin, CLI tool, Windows or Web clients) and deploy it on the device via QR code scan and install. However, apk installation is a bit slow process on a BB10, so you may choose to use the NativeScript companion app for development. Deployment to the companion app is done via QR codes - it has an integrated QR code reader - and since no installation is necessary, development cycle is faster. There is a small issue with the app - it may seem to crash on the first run, but you can still find the Sync and Scan buttons in the BlackBerry Hub, which you can use to scan the code and start your app.
Releasing the app in the BlackBerry store is out of my scope, but you can check these documents:
https://developer.blackberry.com/android/documentation/rpkg_with_bb_plugin_for_android_stdio.html
https://developer.blackberry.com/android/documentation/publsh_your_app_to_appworld.html
Make sure you've built the app for release as mentioned.
Let me know if this helps.

Why Unity3D Use Monodevelop(4.0.1) not the latest Xamarin(5.9)

I use Unity 4.6.3 and Monovelop 4 is installed by default. It seems Monodevelop 4 has many bugs.
I see the lastest Monovelop is Xamarin(5.9) http://www.monodevelop.com/download/.
Why Unity did't use Xamarin as its default IDE?
If I want to use Xamarin as Unity's default IDE , do you have some tips or document for me.
By the way, I know I can change the default IDE by Edit=>Preferences=>External Tools=>External Script Editor. I just confuse why unity did't use the latest monodevelop?
You're totally right, I've been working with this old and buggy MonoDevelop version way too long.
But there didn't seem to be a real alternative, at least until last week a colleague of mine found some nice Add-Ins, that make Xamarin 5.9 working quite well with Unity.
Note:
This only works for Unity starting from 4.6.5p2.
But I'd recommend to update Unity to the latest version anyway, as there are a lot of bugfixes (especially for IL2CPP, if you're doing iOS).
Add-Ins
The Xamarin Add-Ins can be found here: http://files.unity3d.com/lukasz/Unity-Addins-5.9.0.zip
Requirements
Xamarin 5.9: http://www.monodevelop.com/download
Unity 4.6.5p2 or above:
releases: http://unity3d.com/get-unity/download/archive
patch releases: http://unity3d.com/unity/qa/patch-releases
Installation
Unpack the zip file. You will now have 4 files with an .mpack extension.
Open MonoDevelop/Xamarin Studio.
Open Add-In Manager
OS X: Xamarin Studio ➔ Add-in Manager.
Windows: Tools ➔ Add-in Manager
Click "Install from file" and select the 4 .mpack files.
Restart MonoDevelop/Xamarin Studio.
You should now be able open, build and debug any Unity generated solution/projects.
Make it the default Script Editor in Unity
Open Unity
Go to Preferences (OS X: CMD + ,)
External Tools ➔ External Script Editor
Use Browse to select your Xamarin installation
Source
The complete guide can be found here:
http://forum.unity3d.com/threads/unity-add-ins-for-monodevelop-xamarin-studio-5-9.329880/
you can just set it as default editor. Edit=>Preferences=>External Tools=>External Script Editor
What's problematic is that you can open CSharp Projects in it, but when you have UnityScript projects in your Solution file it won't open correctly in Xamarin. It says could not load project "Your project.unityproj". So Assembly-CSharp* works, but not Assembly-UnityScript*.
That's the reason I can think of so far!

Are After Effects plugins made with the AE sdk cross platform?

I am wanting to develop a after effects plugin in c/c++ using the after effects sdk. Are plugins made in this way cross-platform. I will be developing on a Mac, so will the plugin work on windows without any modifications? If not, will I have to make some small adjustments to make it cross platform, or will I have to re-develop the plugin under windows for it to run in windows?
Depends on your code.
If you use specific platform calls like GET_MAIN_WHND() you would have to alter your code according to each platform.
On the other hand it should be exactly the same code for windows.
just duplicate an existing project, exactly as you did on the mac, and copy your code.
The examples provided with Adobe's SDK are cross-platform. They will build on OSX and Windows (with XCode and Visual Studio) out of the box.
A .plugin bundle will be created for osx and a .aex file will be created for windows.
If you need to rely on libraries, you might have to check if the libraries support Windows and mac.
Here's a good starting point: https://ae-plugins.docsforadobe.dev/
and the SDKs: https://developer.adobe.com/after-effects/

How easy is it to develop an iPhone application using MonoTouch in Visual Studio?

I know about Monotouch and I have virtual MacOS and Monodevelop/Monotouch installed.
However, is it better to build an iPhone application in Monotouch on Mac OS X or it's as easy as to build iPhone app in Visual Studio and port it to iPhone via Monotouch?
Is there anyone who tried porting c# project to iPhone? How different was it from building the app on mac os using monodevelop/monotouch?
ps. my favourite helper utilities does not exist on mac os and that's the reason for this Q
As mentioned, to compile your applications and upload them for appstore use, or debug using the simulator you'll need to use MonoDevelop on a Mac.
However it is possible to write a large portion of the code in Visual Studio 2008 or 2010.
I've written 6 Monotouch apps that are selling badly in the appstore, using primarily Visual Studio. The reason I use Windows and VS2010 is I'm a lot slower with the Mac keyboard, have my Visual Studio setup for speed, and a PC that is about twice the processing power.
Here's a few gotchas and tips:
Copy the monotouch DLLs from your Mac to Windows (search for "monotouch.dll" on the Mac), stick all the DLLs in a static place and reference them in your project. It should then compile in VS.
Make sure you keep 2 project files - a MonoDevelop and a Visual Studio one. I tried converting manually and also wrote a converter to go between the two but it breaks so often it's easier to just keep two files.
You can also convert the Mono XML documentation (it's in a different format to the Microsoft .NET XML documentation format) for Visual Studio intellisense. The link below has a download for the XML documentation I generated for Monotouch 2.1.
Avoid using a shared drive for development. This make compilation on the Mac very slow - stick to copying the files using a USB stick or ideally use an online source control site like bitbucket.org
I found it was quite fast with a single keyboard, monitor and mouse and a KVM switch going between PC and Mac.
For the layout (either XIB or C#) you'll have use your Mac, or write the bare bones in VS first.
I've written a fair amount on the process here.
You simply can't develop a MonoTouch application just using Visual Studio. You have to use the OSX tools to build the code and create the package for the phone. There's no way to work around that, and the easiest way to do it is using MonoDevelop.
What me and other developers have done in the past is to develop some of the C# libraries for the apps using Visual Studio, because even though MonoDevelop is pretty good, its still far from being as good as VS. Refactoring code, for example, is much easier with tools like Resharper, etc.
When developing the App in Visual Studio, there's a lot of things you'll have to deal with; for example:
You simply cannot run a build from Visual Studio: VS doesn't know how to build the kind of project necessary for the iPhone, and it doesn't have all the libraries that exist in the iOS SDK.
there's no visual editor to create the XIB files you you probably want to create for your app.
You'll have to do a lot of extra work here and there to get the VS to even open the solution (like copy lib files from OSX to Windows, create separate projects, etc) (although I think Novell Mono tools for VS may help a little on this one.
So here's what I've been doing for the last 6 months:
Break down the application into different projects for business logic and UI logic
You should be able to build, compile and even test the business logic from VS. Just remember not to use any UI libraries, or external libraries not available in MonoTouch
Use MonoDevelop to build the UI code part of the app. Being able to quickly run the app to test helps a lot.
Every once in a while, if you feel you need to to a big cleanup, open the code in Visual Studio, and do the refactorings; although you won't be able to build anything, the code checker in VS will help to make sure the code is still valid.
Hope it helps!
This has actually changed with new MonoTouch release rebranded as Xamarin.iOS that offers tight Visual Studio integration. You still need a Mac for building and testing but you can work from VS without much hurdle.
They even hooked up the debugger:
In this screenshot, VS and OS X run on the same computer, but they don't have to, given that there is a local network connection between them.
Read more here:
Xamarin iOS for Visual Studio allows iOS applications to be written and tested on Windows computers, with a networked Mac providing the build and deployment service.
Developing for iOS inside Visual Studio provides a number of benefits:
Creation of a single cross platform solution for iOS, Android and Windows applications.
Using Visual Studio tools (such as Resharper and Team Foundation Server) for all your cross-platform projects, including iOS source code.
Using the familiar (for existing Visual Studio developers) code editor, keyboard shortcuts, etc.
Xamarin.iOS for Visual Studio supports configurations where Visual Studio is running inside a Windows virtual machine on a Mac (eg. using Parallels or VMWare).
Note that Visual Studio integration is available in Business edition which is $999 per license.
(The license is perpetual per person but you only get free upgrades for a year.)
The MonoTouch home site states:
Please note that MonoTouch requires a
Mac, Apple's iPhone SDK and you must
be part of Apple's iPhone Developer
Program to test and deploy your
software on a device and to
redistribute your code.
I think some of the problems you are going to have using Visual Studio are
you won't be designing with the native UI controls
the emulator used for testing will be different
you may end up using API calls that aren't available in the MonoTouch libraries
I would stick with using MonoDevelop on the Mac.
Since you need the Apple's iPhone SDK (which is only available for OS X) installed to develop with MonoTouch you will be limited to developing on a Mac.
MonoDevelop is quite a good IDE, and its integration with Interface Builder and the iPhone/iPad simulator makes developing for iPhone with MonoTouch a pretty nice experience.