Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(ios): modules to support SDK 9.x.x and iOS 10 #12973

Merged
merged 1 commit into from Jul 23, 2021

Conversation

jquick-axway
Copy link
Contributor

JIRA:
https://jira.appcelerator.org/browse/TIMOB-28509

Summary:

  • Updated bundled modules to include 32-bit libraries and support iOS 10.
  • Needed to make modules work with Titanium 9.x.x since their "minsdk" are still set to 9.2.0.

@jquick-axway jquick-axway added ios bug no tests backport 10_2_X when applied, PRs with this label will get an auto-generated backport to 10_2_X branch on merge labels Jul 23, 2021
@jquick-axway jquick-axway added this to the 10.1.0 milestone Jul 23, 2021
@build
Copy link
Contributor

build commented Jul 23, 2021

Fails
🚫 Tests have failed, see below for more information.
Messages
📖 ✊ The commits in this PR match our conventions! Feel free to Rebase and Merge this PR when ready.
📖 ❌ 2 tests have failed There are 2 tests failing and 965 skipped out of 16149 total tests.
📖

💾 Here's the generated SDK zipfile.

Tests:

ClassnameNameTimeError
android.emulator.Titanium.UI.View"after all" hook for "rgba fallback" (5.0.2)20.366
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (app.js)
android.emulator.Titanium.UI.View"after each" hook for "getOrCreateView() should always return a View" (5.0.2)10.355
Error: Timeout of 10000ms exceeded. For async tests and hooks, ensure "done()" is called; if returning a Promise, ensure it resolves. (app.js)

Generated by 🚫 dangerJS against 737dd2d

@jquick-axway
Copy link
Contributor Author

@ewanharris , would you mind testing this PR out on your iPhone 5 please? Simplest thing to do is...

  1. Install this PR's Titanium SDK. (Which will install its modules.)
  2. Set up "tiapp.xml" to build with Titanium 9.2.0 and this PR's "ti.map" version 5.1.1.
  3. Build and run with the below for iPhone 5.
const map = require("ti.map");
const annotations = [];
annotations.push(map.createAnnotation({
	userData: { type: "waypoint" },
	bubbleParent: false,
	title: "Hello World",
	latitude: 51.507,
	longitude: 0.128,
}));
const window = Ti.UI.createWindow();
const mapView = map.createView({ width: Ti.UI.FILL, height: Ti.UI.FILL });
mapView.addAnnotations(annotations);
window.add(mapView);
window.addEventListener("open", () => {
	mapView.showAnnotations(annotations);
});
window.open();

For the other modules, maybe simply requiring them in will be enough to test loading their libraries?

@garymathews
Copy link
Contributor

Another test for Hyperloop is to include a native module and attempt to utilize it

<project>\Podfile

install! 'cocoapods',
    :integrate_targets => false

platform :ios, '8.0'
use_frameworks!
target 'alloyTest' do
    pod 'MTBBarcodeScanner'
end

app.js

const MTBBarcodeScanner = require('MTBBarcodeScanner/MTBBarcodeScanner');

Project should build correctly, should not see this error:

[TRACE] Undefined symbols for architecture i386:
[TRACE]   "_OBJC_CLASS_$_HyperloopPointer", referenced from:
[TRACE]       objc-class-ref in mtbbarcodescanner.o
[TRACE]   "_OBJC_CLASS_$_HyperloopUtils", referenced from:
[TRACE]       objc-class-ref in mtbbarcodescanner.o
[TRACE] ld: symbol(s) not found for architecture i386
[TRACE] clang: error: linker command failed with exit code 1 (use -v to see invocation)

@jquick-axway
Copy link
Contributor Author

@ewanharris , @garymathews , regarding the hyperloop test, note that I updated the hyperloop module in PR #12905 (I combined it with my iOS LiveView fix).

Copy link
Collaborator

@ewanharris ewanharris left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FR pass, able to load the following modules successfully on an iPhone 5 using 9.3.2.GA

  • facebook
  • ti.coremotion
  • ti.webdialog
  • ti.identity
  • ti.map
  • urlSession

Note: I can't test that ti.applesignin loads on the iPhone 5 as it requires iOS 13+

@ewanharris ewanharris merged commit 484f7ea into tidev:master Jul 23, 2021
@build build removed the backport 10_2_X when applied, PRs with this label will get an auto-generated backport to 10_2_X branch on merge label Jul 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants