I have updated my system to IOS 11. Visualstidio for Windows with all newest xamarin updates, Mac os Sierra is up to date and Xcode is the newest Version.
My Problem:
If I want to debugging on the simulator, the following error occurs:
Error error HE0046: Failed to install the app 'ch.ABC' on the device 'iOS 11.0 (15A372) - iPhone 6 Plus': lstat of /Users/administrator/Library/Caches/Xamarin/mtbs/builds/ABC/a3481f272dab3f68e6e828203695f442/bin/iPhoneSimulator/Debug/ABC.app failed: No such file or directory
The ABC.app exist in this path on Mac.
Buildlog:
System.IO.FileNotFoundException: The file '/Users/administrator/Library/Caches/Xamarin/mtbs/builds/ABC/a3481f272dab3f68e6e828203695f442/obj/iPhoneSimulator/Debug/build-signature/signature' was not found on the Mac
File name: '/Users/administrator/Library/Caches/Xamarin/mtbs/builds/ABC/a3481f272dab3f68e6e828203695f442/obj/iPhoneSimulator/Debug/build-signature/signature'
at Xamarin.Messaging.Ssh.MessagingFileManager.d__11.MoveNext() in C:\d\lanes\5126\bd7e3753\source\xamarinvs\src\Messaging\Xamarin.Messaging.Ssh\MessagingFileManager.cs:line 171
this signaturefile is also on the right path.
My attempts to fix the error:
-Clean & rebuild has no effect.
-Delete the bin and obj Folder has no effect.
-I made the provisioning completely new has no effect.
-New projects work.
-This project work wehn i build it in Visual studio for mac
Has anyone an idea what could be the problem here?
thanks
Andreas
Edit:
I think that it is a general Xamarin problem. Old projects (before IOS11) can not run after update to IOS 11 in the simulator.
So, I decided to do the whole exercise of step by step mutating a newly created project (which deploys fine to the iOS 11 simulator) into my project (which does not) by using Beyond Compare to change file by file until no difference remains.
That took a good four hours (big project). All of that was to no avail however. :)
Because it turns out that what made the difference in the end was removing the iOS project from the solution and then adding it back (using the "add existing project" command).
This changes three things in the solution file:
Updates it to the latest VS solution format version.
Moves the iOS project to the bottom in a few places.
Fixes up some weird build configuration and/or platform configuration inconsistencies.
Naturally, I thought the last one would be the trick, so I tried only applying that delta in isolation, but that actually didn't fix the issue! I don't fully understand why, but actually performing the action of removing and re-adding the project does.
Very curious to see whether this works for others.
Is there a way to have Xcode tell me when I'm calling a method that isn't available in the SDK of the minimum supported target?
For example, the method [NSURLConnection sendAsynchronousRequest:queue:completionHandler:]. This method is available on iOS5 and up. But my application's minimum target is iOS4.
If I use that method (sendAsync), I'd like Xcode to tell me that that method isn't available for the minimum target I'm trying to support.
I've tried putting __IPHONE_OS_VERSION_MAX_ALLOWED=40000 in the preprocessor settings, but that just triggers a bunch of Apple SDK errors that aren't helpful. (Probably because my active SDK is iOS5.1)
Is the only solution to get ahold of old SDKs and install them in Xcode?
Are there any easier solutions?
There is unfortunately no standard way of doing this. By setting the target OS to a lower number than the base SDK, Xcode will weakly link the libraries and frameworks. When doing that Xcode will not warn you for using methods that may not be available on the target OS.
You could temporarily set the base SDK lower, but that might not always work. Since you want to ignore most of the errors and warnings produced (because they are only called conditionally in your code path), and many warnings and errors are dependant on other error that you may need to resolve before the compiler will give any meaningful output.
I do not think there exist any static analysis tools for this, neither from Apple nor third party.
After doing some research, reading the Apple Doc about it, and trying a number of things. The solution is downloading an old Xcode DMG from Apple, grab the .pkg file for the same SDK as your deployment target and install it in your version of Xcode. Here's how:
Download older Xcode.dmg from Apple
Open the DMG
In Terminal, go into packages: "cd /Volumes/[DMG]/Packages; open ."
Find the SDK you want, something like iPhoneSDK_4.0.pkg
Install that package, but change the install directory to /Applications/Xcode/Contents/Developer
Restart Xcode if it was open.
Now that you have the same SDK as your deployment target, set your BaseSDK to the same. When you build you'll get warnings about missing methods. Your project may or may not successfully build with an older BaseSDK in a new version of Xcode, but that doesn't matter - you've just found the method calls you need to wrap in a feature check with respondsToSelector:.
As of Xcode 7.3, the compiler can now generate these warnings for you. All you need to do is set the -Wpartial-availability warning flag in the Build Settings, as described in this answer.
I have different versions of xcode installed in different directory under Application folder. When I browse Library folder from MAC HD/user/library/...... its takes me to default version "iphone simulator/applications. But I want ot locate simulator for other xcode version.
How can I go to that path?
These paths are different for each version of Xcode. The path for Xcode 6 for example starts at ~/Library/Developer/CoreSimulator. For a really useful read regarding this matter, please refer to this link (and the other two links at the beginning of that article): http://iosdevelopertips.com/xcode/xcode-6-store-apps-documents.html
You should also check other questions here regarding this topic: https://stackoverflow.com/search?q=xcode+simulator+location
I have downloaded .dmg file for Qt on Android and iOS. I have installed it and tried to run examples. I am able to run examples under folder "widgets" for iOS but when I try to run example for "webkitwidgets" and run qmake on (let say for example of "browser") .pro (in this case for example browser.pro) then it gives me error : "Error unknown module(s) in Qt: webkitwidgets". Then I checked "ios" folder in installed qt directory. I found in "Include" folder there is no folder called "QtWebkitWidgets" while there is folder "QtWidgets". Let me know solution asap because I am doing some poc on Qt for iOS and need to have conclusion soon. Did I miss some steps while installation or do I have to do some extra steps to execute examples for QtWebkitWidgets. Let me know whether QtWebkitWidgets module is supported for in Qt for iOS or not. Note that I am using Qt 5.2 with XCode 5. If more detail is required then let me know.
Apple explicitly forbids that any programming language be compiled/interpreted on the iOS device itself, except by their own WebKit. So Qt’s WebKit is disallowed.
It is worthy to note thet part of the QtWebKit team has started the project QtWebEngine to explore the option of providing a Chromium/Blink based web engine instead of QtWebKit, and in addition to that, the iOS port of Qt will need their own webview API since Apple does not allow additional web engines on their iOS devices.
I am tried deploying .cod,.alx.jar files on blackberry simulator 8100;the application is not getting deployed on phone.I am using Blackberry plugin for Eclipse.
How can I solve this issue?
Please help
Update
Hi,
Thanks for your reply.
I am trying to run the application the way you suggested.
Do I need to setup new run configuration every time I run any project?
What should be default value for build configuration ? [Debug,Private,or Release]
Copying the .cod files into the simulator's directory (where all the other .cod files are) and restarting the simulator will work.
Probably though you want to automatically deploy from Eclipse. If this isn't working for you, there are a couple of things to check:
Check that the project has been activated for BlackBerry - from the right-click menu for the project, make sure that Activate For BlackBerry is checked.
If that's already checked (as it is by default when you create a new BB project), then sometimes explicitly building the project will do the trick: From the Project menu, choose Build Active BlackBerry Simulation
EDIT: In response to some comments below I thought of something else. The configuration you choose may have something to do with your problems (BlackBerry -> Build Configurations). The configuration in the JDE Plug-in doesn't affect the code generated, but it does affect which projects are activated for BlackBerry. If you switch configurations, your project may become un-activated.
Since it doesn't affect the code, I usually just pick one configuration and stick with it throughout debugging and release.
You might be missing 'jar' in your PATH. If so, the eclipse BB plugin silently fails and your application won't be pushed to your simulator plugin directory. To see this failure within eclipse, choose 'Project > Build Active BlackBerry Simulation'.
If you don't have jar in your path, then you will see:
I/O Error: Cannot run program "jar": CreateProcess error=2, The system cannot find the file specified rapc executed for the project
So, if your JDK is here:
C:\Sun\SDK\jdk\bin
Then append it to your system environment's PATH variable, then re-run 'Build Active BlackBerry Simulation' and you should see:
rapc executed for the project [YOUR PROJECT]
Here are a couple of ideas:
1) If you have any build errors then the application won't deploy to the Simulator. The Eclipse compiler (that underlines compile errors in red) is different to the "rapc" one that creates the binary for the Simulator. I have heard of situations where the Eclipse build seems to work, but the rapc compile fails - check the Console for the detailed rapc output (this might not look like a normal Eclipse build error).
2) In the Eclipse menu, open BlackBerry -> Configure BlackBerry Workspace.
Under BlackBerry JDE choose Code Signing and make sure the three RIM checkboxes are selected. I had compile errors when these weren't selected.
Under BlackBerry JDE choose Installed Components. Choose to use the Component Package 4.7.0 as I have heard of problems with the 4.5.0 Simulator.
You should delete all these extra answers you posted, or you might get downvotes - they should be comments instead of answers.
Check if your simulator is set up to clean the file system / configuration before launching the simulator. Simulators can be set up like this. If you deactivate it, the application should not disappear.
For future readers, there is another possibility for this issue. Check your workbench project directory (folder) for a ProjectName.err file. This may provide a clue as to why your build is silently failing and thus not deploying. In my case, it was an "Error!907", a new icon I added to my project was too big. There was absolutely no other indications in Eclipse 3.4.1 that there was a problem in my build.
Just ran through the same kind of problem : project compiled fine but didn't deploy on any device or on any simulator, even though the debugger said it was attached !
The problem came from a .zip file that was located in the ./src directory of the project, deleting or moving it somewhere else resolved this case.
I wish I hadn't spend 2+ hours on such a stupid problem :/
I know this is old, but you have to do the "generate ALX" option from right clicking the project menu as well or it won't deploy, at least it doesn't for me.
I ran into the same problem again and none of answers posted here worked for me.
I played around and finally made it work. The problem was that the output file name contained a hyphen ('-'). Changing this name in the Build section of BlackBerry app descriptor did the trick.
I mean, how stupid a developer must be to slip that kind of bug. No error reported and why reject the names with hyphens in the first place? Give me back my two hours RIM "developers"!
I had the same problem. The reason was using 'ü' character in the title.
I have been facing this problem today, but with a MIDlet project. It turned out to be that I forgot to specify the "Name of main MIDlet class" in the BlackBerry Application Descriptor (BlackBerry_App_Descriptor.xml). Once I specified it the application appeared on the simulator correctly.