Getting iDevices iOS version over C - ios

I've been getting into iOS development recently, but I can't figure out how to get the iOS version over USB in a C program.
I've tried reverse-engineering the ideviceinfo source on GitHub, but I still cant work it out.
My questions are:
What headers do I need
How do I get the iOS version
NOTE:
I do not want to use external applications and scripts like iDeviceInfo.
I would be happy with links to documentation, tutorials, raw code etc

Related

Ionic 2 Storage does not work on iOS

I am using #ionic/storage as it looked quite promising after reading about it in the V2 Docs.
I use Chrome on my Windows 10 laptop so things appeared to be working perfectly fine at first. However, when I tested it on iPad, or even Firefox on my laptop, I was surprised to find out it did not work.
I was able to resolve the issue on Firefox by removing the sqlite plugin (I thought I will add it when I am ready for native testing):
cordova plugin remove cordova-sqlite-storage --save
Sadly, storage still doesn't work on the iPad. I tested it on Safari and Chrome. I am unable to debug this given the lack of developer tools or console.
I am quite frustrated how Apple makes you dependent on using a Mac to develop on their devices.
How do I go about fixing and debugging this?
I first import storage in Ionic 2:
import { Storage } from '#ionic/storage';
Then to save the data, I do this:
this.storage.set(pk, JSON.stringify(reportObj));
Where pk is just a unique key, and reportObj is an object that I stringify before storing. Again, keep in mind this just doesn't work in iOS.
Thanks.
Update:
So I managed to run the app in Safari and found out that .set actually works and the data gets stored in WebSQL. However, the get does not seem to work and I wasn't able to get any useful errors in the console.
OK, so after a lot of trial and error, I found out that the problem is not really with Storage. There appears to be some other issue with my UI, where it doesn't seem to work on iOS.
I decided to answer the part about testing the app on iOS while in development if you are not a Mac user. The best way for this appears to be to use Ionic View. You can use this simply by typing:
ionic upload
Make sure you create your account. In your iPad or iPhone, you can then download Ionic View app from iTune, sign in, and the app will appear there.
As you upload your code, simply upload again and almost instantly the app would upload on the device as you click Sync.
Hope other Windows users benefit from this.

Getting app containing framework containing OpenCV into TestFlight

I find myself in a situation which may be unique. Please be patient, because this is going to be complex.
I am charged with creating for iOS 1) an SDK, which has taken the form of a framework , 2) a demo application, and 3) a reference application.
The SDK uses OpenCV, and so the OpenCV framework is automatically embedded inside it.
The project for the demo application at compile time automatically builds the SDK and includes a copy within itself. The demo application also links directly to the copy of OpenCV within the SDK.
The reference application is an example application meant to show people how to use the SDK framework.
So far all of this somehow works. <TAKE A BREATH>
The latest version of the demo application, however, has a problem. I need to get a copy of it into TestFlight. Despite it working fine on actual iPhones AND Xcode archiving it with no problems, nothing I have done has gotten it all the way through the App Store/TestFlight submission process. The furthest I've managed is to coerce it is that it got through validation, but when I tried submitting the app, after uploading Xcode complained:
ERROR ITMS-90034: "Missing or invalid signature. The bundle
'org.opencv' at bundle path
'Payload/FakeName.app/Frameworks/FakeNameIOSSDK.framework/opencv2.framework'
is not signed using an Apple submission certificate."
I have indeed verified that OpenCV (at least version 2.4.9 downloaded from the Website OpenCV.org) is not signed. I made an attempt to sign OpenCV with codesign, but I couldn't make that work.
The question is: What do I need to change to make the App Store happy enough that I can get my app into TestFlight? Is there some way to hide the lack of code-signing of OpenCV? Is there a way to get OpenCV properly code-signed such that the App Store is happy with it? (I have a strange vision of compiling the source of OpenCV directly into my SDK, but the size and complexity of OpenCV is such that I'd rather not try such a thing except as a measure of last resort.)
Alternatively, I find myself wondering about whether it is workable to not embed OpenCV in my SDK, but embed it within the app instead. This is what I did with the last release of the demo app in TestFlight. However, when I created the reference app, the system failed to work, leading to the current oddity of a framework within a framework.
Thanks in advance for any help anyone can provide.

How to determine the exact iOS version using Google Analytics

While reading a tutorial on Google Analytics for iOS I wanted to know which version of iOS I was running.
I've googled for phrases like "ios version google analytics" but couldn't find anything useful.
Basically I want to know the number of users running my app on any iOS version, e.g. iOS 6, iOS 7 etc.
I've also checked the Google Analytics documentation, but couldn't find a proper method. The device info on Google Analytics dashboard just shows "iPhone" but does not mention the iOS version.
Is there a way to get the exact iOS version via Google Analytics?
I created you a custom report so you can see how the information is saved. Os Custom Report
I think what you are after is Operating system and Operating system version.
There is a method, go to
Audience > Technology > Browser & OS > The browser version matches the firmware*.
Might not match exactly, but in my experience its more than accurate enough and I am 95% it does match always.
Hope that helps Tushar
So I was looking for a solution here as well. I came across this article by Phillip Studiniski that shows you how to measure the iPhone screens by screen resolution.
https://analytical42.com/2017/detect-and-track-iphone-models-in-google-analytics/
I attempted to go this route. The problem I ran into was that I was just getting a raw output of the screen resolution in GTM, it would look something like this.
{"width":375,"height":667,"ratio":2.0000000454608653}
No problem I thought. I moved this into a RegEx table. Click here to see a sample RegEx for this Once I did this, I was able to properly identify the iPhone version with a variable and then send it to Google Analytics through Google Tag Manager variable.
I then had to update the iPhone models a bit since it has been a while since the article was written. (https://iosref.com/res) This includes the models from 11 to 13.
BOOM! iPhone version now being sent to GA. Hope this helps everyone.

Stream Internet radio using ffmpeg

i am a beginner at IOS Development now i make app that streaming internet and there was a problem that there is extinction that ios not support like .asf and .rm and there prifx that ios not support too like mms:// so after a lot of searching a lot of people told me that "use ffmpeg" and after a lot of wasted time i successfully build ffmpeg to my xcode now i am stuck because i don't how i use it .
so could any one tell me how can i use it please don't tell me use IFrameExtrator because i tried and i failed.

Using HTML5 cache manifest with Phonegap on iOS

I've been trying for a while to make my HTML5 cache manifest work with phonegap on iOS devices, but I can't get it working (it does work with the pure web version of the app though).
Has anyone have used it successfully?
(I've only founded two people saying that it has worked (1, 2), but I'm searching for more feedback)
Try having a look at this article
http://tmkmobile.wordpress.com/2012/03/04/html5-offline-solution/
I haven't worked in iOS myself but by the sound of it, as long you have correctly setup your cache spec, it should just work on iOS. Only Android needs a little extra work.

Resources