Running old Metaio SDK iOS offline for demo purpose? MetaioLicenseString - ios

I developed a Metaio Demo app last year, now i want to run the application again for some demo purposes.
Since Metaio was sold to apple last year, the SDK tells me that my license key has expired.
I learned from stack overflow, that the MetaioLicenseString is validated offline by the SDK.
Is there a way to make the SDK validate my old demo MetaioLicenseString by e.g setting back my system time?
So far, i did not have any luck with that approach. From the metaio dev portal i remember that i had to provide the app name,
the application ID, and the SDK Version. (See Screenshot [1]) So my assumption is, that the MetaioLicenseString is generated from these information + an expiration date.
Any clue how i could approach this in order to get my old app running (just offline for single demo purpose)
[1] https://my.metaio.com/helpdesk/upfiles/createkeyforappios_1.png

If you had a metaio account, contact metaio support at contact(at)metaio.com. (Yes, there is still someone, but just
till the end of april or beginning of june.)
Past year, before closing the dev portal, Metaio had released a license signature generator which could be downloaded from their portal , if you had a dev account.
So try writing them and kindly ask if they would help you.
But, I have to say that you will probably get warnings from the Google Play store , if you publish a metaio SDK app. Concerning SSL issues.
Good luck.

Related

Apple Store - rejecting new apps using UIWebView; Will this impact my existing app and future releases?

I have an app up on the apple store written with Ionic v1, Cordova, and AngularJS. It's been up there for a few years now. We are planning a few more releases in the upcoming months. I got this email from the Ionic Team:
Hi Aubrey,
In just over one week’s time, Apple will begin rejecting new apps using UIWebView. We wanted to reach out with details on how to update your Ionic apps.
If you receive an email from Apple after uploading an app binary to the App Store, you’ll need to update the app. The email reads something like this:
We identified one or more issues with a recent delivery for your app, [App Name & version number]. Your delivery was successful, but you may wish to correct the following issues in your next delivery:
ITMS-90809: Deprecated API Usage – Apple will stop accepting submissions of apps that use UIWebView APIs. See https://developer.apple.com/documentation/uikit/uiwebview for more information.
After you’ve corrected the issues, you can use Xcode or Application Loader to upload a new binary to App Store Connect.
You can find complete details including upgrade instructions on the Ionic blog, but here’s the summary:
Using Cordova? Update to cordova-ios 5.1.0 and above, install the WKWebView plugin, and update each Cordova plugin to the latest version.
Using Capacitor? Update to the latest version then sync the project.
Submit a new version of your app before the deadline to ensure that it has been updated correctly.
If you're an Ionic Enterprise customer, your Customer Success Manager should already be in touch. If you're not a customer and would like to learn more about Enterprise Support options, please reach out here for extra assistance. Our Enterprise Support team is available and able to help. We've already helped a number of our customers navigate this change quickly & easily.
Cheers,
The Ionic Team
The email says that they will reject new apps of they are using UIWebView.
Does this also mean that my future releases will be impacted? Will my next release of an existing app be rejected for using UIWebView?
This link provides the answer to both of your questions.
The bottom line: It’s time to update your apps! Apple will only accept submissions of Ionic-based iOS apps that contain references to UIWebView until April 2020 (new apps) and December 2020 (existing apps). To meet the new requirement, simply update to the latest version of Capacitor. If you’re using Cordova, see below.
- From link provided!
I have installed ordova-ios#5.1.1 and using plugins which may have some UIWebView references such as google-plus, facebook4 and social sharing.
Also I've added the right configuration to config.xml but still failed to successfully upload to App Store. They keep rejecting my first app and now my build number is 1.0.21 !!! 21 Tries I've made but still failing.

Building Ios Ionic Application In Ubuntu Free

I am a student that is taking a research in my school; our panel wants us to develop a hybrid application and they said that there is a way to build an IOS application using Ionic.
I need it to be free because I can't afford the $99.00 per year on the apple cerficate since I'm just a student.
I don't need to distribute in the app store of Ios, I just need to build it and show that it can work.
So what I'm asking is someone who can give me step by step, or point me in the right direction on how to build it.
Edit: I have already built an apk and an android application is already running, but our teacher just deducted points because I can't show a running ios application.

When publishing an Apple app, can a third party get access before published?

I am publishing my first iOS app to the App Store. However, the company that hired us wants to see the app work before we publish. Is there a way under the $99 developers plan to allow them to see the app work on a real iPhone?
For completeness there is another way. Although I've used TestFlight very happily for years, it can prove to be too complicated for some testers!
If your app has been approved by Apple (but you've set release date in the future), you can give people promo codes (which you can get from iTunesConnect) and they can download the unreleased app. This is great for getting your app to reviewers.
From iOS Developer Library:
Promo codes apply to a specific app version, so when users redeem
promo codes for a version of an app that hasn't been released yet,
they download the prerelease version.
https://developer.apple.com/library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/ProvidingPromoCodes.html
Obviously in your case, you probably want to get your client's approval before even submitting to Apple, therefore #Anil's answer is better for you.
This is possible through multiple platforms.
iOS 8
As mentioned above, refer to the following link:
http://blog.thebetafamily.com/2014/09/10/testflight-beta-testing-ios-8/
iOS 7 and below
Test Flight - https://www.testflightapp.com (Acquired by Apple and available on iOS8 as described above)
Hockey App - http://hockeyapp.net
Test Flight is free and simple to use. All you need to do is upload the certificate and it'll take care of the rest. Test Flight used to support other OS like Android. But after the acquisition, I think it only supports iOS.
Hockey App is also simple. But only supports certain numbers of builds or projects for the free version. Hockey App provides direct update during the app launch if a new build has been uploaded.

Process for Facebook iOS SDK deprecations

I'm an SDK maker which has bundled the Facebook iOS SDK (version 3.6 from July 24, 2013). I'd like to understand Facebook's SDK deprecation policy so that I have advanced notice and can update my product accordingly. Where can I find/subscribe to this information?
The best I have found is: https://developers.facebook.com/docs/ios/upgrading/ which gives details of each release. Often new SDK versions will contain features which are announced at launch so I don't know how much advance warning you will get. In version 3.1 a feature is to protect agains breaking changes server side and I remember getting several messages in the Facebook developer area to update apps at this point so I guess you will just have to watch out for changes as they come. That said, I think versions 3.1+ remain supported, from which I would infer that they deliberately support older versions, so you should not have too much of an issue.
All the details of the new V2.0 API can be found in the Changelog and Upgrade guides:
https://developers.facebook.com/docs/apps/changelog
https://developers.facebook.com/docs/ios/upgrading/
The version of the API as it was before last April 30 will be available until April 30 2015.
The new V2.0 will be available for at least two more years. To be precise: from the moment when a new version of the API is introduced, the current (thus V2.0) will be supported for two more years.
Within the same version there will be no breaking changes to core functionalities.
In the Changelog you can read a lot about the new permissions, and which are removed. Basically, all friends_* permissions are removed. Furthermore, your app needs to be reviewed when it uses other permissions than public_profile, email and user_friends (which now returns only the list of friends that also use your app).
You can read more on the reviewing process here: https://developers.facebook.com/docs/apps/review
As a facebook developer, I am unaware of any advance notice "push" notifications from facebook about new releases or future releases unfortunately. You basically will hear about it first via the media and then it will appear on the developers.facebook.com website. There is probably little they could do about this without putting all developers under non-disclosure. That is sort of the reality we are all operating under by placing your product dependent on, or on top of, another companies product. We have had experience here personally with that for years under Microsoft so we are use to it. Unfortunately, you just have to educate your end customers of this fact. Some will understand.

Does this app use the Advertising Identifier (IDFA)? - AdMob 6.8.0

I'm currently uploading my App to the App Store and Apple is asking me if this app users IDFA. I'm using the latest Admob SDK or 6.8.0 and I don't know if it uses IDFA or not, and if it does which check boxes should I hit X.X
Image http://i.gyazo.com/a7d36f95ac0cc066e5654517d4ec2f3f.png
I'm having the same issue here and I was a bit afraid of checking the last box, since I have no idea what the 3rd party SDK will do with the data collected and if they will respect the Limit Ad Settings.
But I found a post by a Google Admob programmer, Eric Leichtenschlag, on their forums:
The Google Mobile Ads SDK and the Google Conversion Tracking SDK utilize Apple's advertising identifier introduced in iOS 6 (IDFA). While each developer is responsible for how they access device data, the SDKs use IDFA under the guidelines laid out in the iOS developer program license agreement, including Limit Ad Tracking.
Including Limit Ad Tracking. This is what the last box is all about. So you must check the that box if you use AdMob. If you use other SDK I strongly recommend checking if they respect the guidelines as well.
Since I run only ads (Google AdMob), I checked the first (Serve ads...) and last box (I, ___, confirm...). App was approved and released, no issues.
Source: https://groups.google.com/forum/#!topic/google-admob-ads-sdk/BsGRSZ-gLmk
If you are lazy to check on each third party SDK if they use or not the IDFA you can use this command:
fgrep -R advertisingIdentifier . (don't forget the dot at the end of the command)
Go to your project/workspace folder and run the command to find which files are using the advertising identifier.
Then you just have to look in the guidelines of those SDKs to see what you need to do about the IDFA.
I recently submitted an app to Apple's App Store. My app was built using iOS 12, Xcode 10, and Swift 4.2. My app uses Google AdMob for the sole purpose of showing Interstitial Ads. When prompted these question, this is what I did:
1) Does this app use the Advertising Identifier (IDFA)? ANSWER: YES
a) Serve advertisements within the app - CHECKED
b) Attribute this app ... - NOT CHECKED
c) Attribute an action ... - NOT CHECKED
I, (my name), confirm that this app ... - CHECKED
My app was accepted and "Ready for Sale" in less than 24 hrs.
You can track all calls to [ASIdentifierManager advertisingIdentifier] with symbolic breakpoint in Xcode:
Yes, it does. From the AdMob page:
The Mobile Ads SDK for iOS utilizes Apple's advertising identifier (IDFA). The SDK uses IDFA under the guidelines laid out in the iOS developer program license agreement. You must ensure you are in compliance with the iOS developer program license agreement policies governing the use of this identifier.
If you have Google analytics or Facebook api in you app, you need to check all of them to make sure it works!
Edit: This is an old answer - see comments or other answers for an exact answer.
In app store connect now if we are using ads in our app then we will answer as yes to Does this app use the Advertising Identifier (IDFA)?
further 3 questions will be asked as
if your using just admob then check the first one and leave other two unchecked. Other two options (2nd , 3rd ) will be checked if your using app flyer to show ads.
all options are explained with detail here
BTW, Yandex Metrica also uses IDFA.
./Pods/YandexMobileMetrica/libYandexMobileMetrica.a
They say on their GitHub page that
"Starting from version 1.6.0 Yandex AppMetrica became also a tracking instrument and uses Apple idfa to attribute installs. Because of that during submitting your application to the AppStore you will be prompted with three checkboxes to state your intentions for idfa usage. As Yandex AppMetrica uses idfa for attributing app installations you need to select Attribute this app installation to a previously served advertisement."
So, I will try to select this checkbox and send my app without actually no any ads in it.
It seems many indie developers like me are desperately looking for an answer to these questions for years. Strangely, even after 5 years this question was asked, it seems the answer to this question is still not clear.
As far as I can see, there is not any official statement in Google AdMob documentation or website about how a developer can safely answer these questions. It seems developers are left on their own in the mystery about answering some legally binding questions about the SDK.
In their support forums they can advice questioners to reach out to Apple Support:
Hi there,
I believe it would be best for you to reach out to Apple Support for
your concern as it tackles with Apple Submission Guidelines rather
than our SDK.
Regards, Joshua Lagonera Mobile Ads SDK Team
Or they can say that it is out of their scope of support:
Hello Robert,
On this forum, we deal with Mobile Ads SDK related technical concerns
only. We would not be able to address you question as this is out of
scope for our team.
Regards, Deepika Uragayala Mobile Ads SDK Team
The only answer I could find from a "Google person" is about the 4th question. It is not in the AdMob forum but in the "Tag Manager" forum but still related. It is like so:
Hi Jorn,
Apple asks you about your use of IDFA when submitting your application
(https://developer.apple.com/Library/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/SubmittingTheApp.html).
For an app that doesn't display advertising, but includes the
AdSupport framework for conversion attribution, you would select the
appropriate checkbox(es). In respect to the Limit Ad Tracking
stipulation, all of GTM's tags that utilize IDFA respect the limit ad
tracking stipulations of the SDK.
Thanks,
Eric Burley Google Tag Manager.
Here is an Internet Archive link in case they remove this page.
Lastly, let me mention about AdMob's only statement I've seen about this issue (here is the Internet Archive link):
The Mobile Ads SDK for iOS utilizes Apple's advertising identifier
(IDFA). The SDK uses IDFA under the guidelines laid out in the iOS
developer program license agreement. You must ensure you are in
compliance with the iOS developer program license agreement policies
governing the use of this identifier.
In conclusion, it seems most developers using AdMob simply checks 1st and 4th checkmarks and submit their apps without being completely sure about what Google exactly does in its SDK and without any official information about it. I wish good luck to us all.

Resources