Adobe Flex Mobile + AIR - Custom iOS Build Setting - ios

I am building some Adobe Flex Mobile application using Flex 4.6.0 + AIR 3.5 only for iOS
This app involves some iOS Native Extension created also by me.
The thing is that this ANE uses some third party framework (GD.framework from Good Dynamics Technology). That framework requires GD FIPS linker to be used, and for that, i need to set some custom build settings in a .xcconfig file, with this content:
FIPS_PACKAGE=$(CURRENT_ARCH).sdk LDPLUSPLUS=/Good
Technology/Good.platform/FIPS_module/$FIPS_PACKAGE/bin/gd_fipsld
LD=/Good
Technology/Good.platform/FIPS_module/$FIPS_PACKAGE/bin/gd_fipsld
The ANE compiles OK, but then, I add the ANE to the app, I compile the app, but when I launch the app, it crashes because the FIPS linker was not properly got set on my Flex Mobile project.
So, my question is:
Is there a way to set the above configuration on my project like somebody would do in a Xcode project?
Regards!

Related

BlackBerry Dynamics - do the Xamarin bindings work with the new Dynamic Framework beta?

I maintain several iOS apps that use BlackBerry Dynamics Bindings for Xamarin.iOS. One of our apps has a production version that was build against version 6.0.1.6 of the bindings, along with an earlier version of the SDK and targeted iOS 12.
With iOS 14 coming out, it is time to rebuild the app, which means it is time to update the SDK, the bindings, and the dlls in my project. When I went to the developer portal, I found the SDK download page now has two options for the "BlackBerry Dynamics SDK for iOS". There is a "Static Framework v8.1.0.37" and a "Dynamic Framework beta v8.1.0.37".
According to the documentation, the dynamic framework, while in beta, does eliminate much of the complicated linking required in previous versions, and does away with the custom LD scripts for FIPS compliance. I would like to try it out, but I could not find an indication anywhere in the documentation files on the developer portal as to whether or not the Xamarin bindings work with this version of the SDK. Do they?
The currently available bindings are version 7.0, which target iOS 13; the iOS 14 readiness blog post says newer bindings are planned for mid-October of 2020. If the current bindings do not work with the dynamic framework sdk, is there any plan to have the next release do so?
The BlackBerry Dynamics SDK 8.1.x for Xamarin will not support using the dynamic library found within the BlackBerry Dynamics SDK for iOS. It currently only supports the static library. We do plan to add support for the dynamic library to our SDKs for Xamarin, Cordova and React Native in a future release.

Error in using Speech to text functionality in xamarin ios

I am trying to use "speech-to-text" functionality in xamarin ios. But I am getting following error after adding "Using Speech;" in my class file.
Your application is using the 'Speech' framework, which isn't included in the iOS SDK you're using to build your app (this framework was introduced in iOS 10.0.0, while you're building with the iOS 10.0 SDK.) This configuration is only supported with the legacy registrar (pass --registrar:legacy as an additional mtouch argument in your project's iOS Build option to select). Alternatively select a newer SDK in your app's iOS Build options.
How I can use "Speech" in xamarin ios app?
Check your Xcode version first. Whether is the latest version.
Check also iOS project Options->iOS Build->SDK Version, whether is using correct SDK version. For mine, it is set to Default which is 10.3 now.

How to install Fabric.IO for a iOS iPhone app built using ionic?

Recently, I have managed to try out Fabric.IO with a iOS iPhone app project built using native iOS framework in Swift.
That worked successfully.
I then attempted to try out Fabric.IO for another iOS app built using ionic.
What I tried
I created a new xcodeworkspace.
I ran ionic build ios which generated a brand new xcodeproj file.
I installed Fabric
I then added the Run Script Build Phase
I installed Crashlytics and then added the lines of code under AppDelegate.m
Then I incurred nearly 20 errors after that.
My questions
is it possible to use Fabric.IO for an iOS iPhone app built using ionic?
if possible, how do I get past the 20 over errors I have incurred?
Those are C++ library symbols; you need to link against the following libraries and frameworks:
libc++
libz
SystemConfiguration.framework
Security.framework
Which can be added via Link with Libraries and Frameworks.

iOS Framework which can support iOS7

I have very simple requirement for my iOS SDK
-Support iOS 7 and above.
-Include some swift code to my SDK
Problems:
-With iOS 8, Xcode allowed us to develop cocoa touch frameworks, but they can only be run on iOS 8 and above.
-If I create a static library, I cannot include swift code.
-I was using using Real Framework, but Real Framework does not get installed with Xcode 7.
So, What does a poor developer do ?
You can always have an alternative distribution method for your SDK for users that are targeting iOS 7.
You can offer an SDK in a single concatenated file, that is simply merging all your project source files, which user can drop into project tree and compile together with all the other source files. This applies only when you have either Swift-only or Objective-C only SDK
If SDK user uses workspaces, he may embed your SDKs .xcodeproj directly in his project
Anyway both methods require source code distribution as the user needs to compile the code from within his project. Dependency maintenance is also more difficult.
For a reference you can check how it is done in:
https://github.com/SwiftyJSON/SwiftyJSON
It is a Swift library, but integration with iOS 7 based projects is the same.
I could not find any solution for this. I compromised:
I am NOT using swift code.
I am distributing static library (.a file and a .h header file) instead of a framework. (this is to support iOS 7)

Using embedded framework in extension's containing app with deployment target iOS 7.0 and earlier

I'm developing Today Widget Extension for an app with deployment target earlier than iOS 8.0.
In apple Extension Programming Guide they recommended to use embedded framework to share code between app extension and its containing app.
You can create an embedded framework to share code between your app
extension and its containing app.
In the end of this guide they explain how to deploy a containing app to older versions of iOS 8.0 by using dlopen command.
After I have added the framework target the project doesn't build successfully.
It's always failed with the following errors :
Lipo Error : /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo: can't open input file: PATH_TO_BUILD/armv7/APP_NAME (No such file or directory)
Apple Mach-O Linker Error : ld: embedded dylibs/frameworks are only supported on iOS 8.0 and later (#rpath/FRAMEWORK_NAME) for architecture armv7
(Error 2 repeats with arm64 architecture)
What I'm doing wrong ?
Is there another way to share code between app extension and its containing app ?
If someone know about the dlopen solution, please input with a "How to" tutorial (examples are welcome).
You can't use embedded frameworks on iOS 7, even with dlopen.
What they're explaining on that page (and not very clearly) is that if your app uses an embedded framework on iOS 8 and you want to deploy the app on iOS 7, you can't have the framework load automatically on iOS 8. Instead you copy the framework into the app bundle as part of the build process and then, on iOS 8 only use dlopen to load the framework from code.
On iOS 7, the framework will exist in the app bundle, but iOS 7 does not support loading it into the app by any means, including dlopen
If you want to share code between an app and an extension and deploy on iOS 7, you cannot use a framework to share the code. You need to include all of the shared code in both the app target and the extension target.

Resources