Hi,
with lime 7.8.0 my ios app crashes at the start with:
his app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSBluetoothAlwaysUsageDescription key with a string value explaining to the user how the app uses this data.
I’m not using bluetooth and i don’t want to use it
I’ve run into this too. I’m not using Bluetooth, but the iOS build injects the dependency anyway. It’s causing me trouble in app review. I’m going to try building with lime 7.7.0 instead, but I’m still really curious as to why the dependency was added in 7.8.0, and if it’ll stick around in future versions.
FYI, Apple is going to reject anything built with Lime 7.8.0:
We found that your app uses GameKit public APIs to change Bluetooth device settings.
GameKit APIs are provided to assist in the creation of social games. Using these APIs for other purposes, such as changing Bluetooth settings on a device, is not prescribed by Apple and is therefore not in compliance with the Apple Developer Program License Agreement, as required by the App Store Review Guidelines.
In particular, section 3.3.1 of the Apple Developer Program License Agreement specifies:
“Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.”
If there are no alternatives for providing the functionality your app requires, you can use Feedback Assistant to submit an enhancement request.
I wasn’t able to rebuild lime, got the following error:
Error: In file included from ./lib/sdl/src/joystick/iphoneos/SDL_sysjoystick.m:47:
In file included from /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk/System/Library/Frameworks/GameController.framework/Headers/GameController.h:51:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.2.sdk/System/Library/Frameworks/GameController.framework/Headers/GCDevice.h:30:1: error: property with ‘retain (or strong)’ attribute must be of object type @property (nonatomic, strong) dispatch_queue_t handlerQueue API_AVAILABLE(macos(10.9), ios(7.0), tvos(7.0));
Yes, see the comments on the github issue I posted. You either need to build with an Xcode version older than 12, or change the hardcoded iOS target in the hxcpp toolchain files to 6 instead of 5.