Coder Social home page Coder Social logo

esp-idf-provisioning-ios's Issues

ESP32-S3 BLE cannot be scanned by IOS provisioning app (app part)

This is a mirroring of issue:
espressif/esp-idf#8703

since the issue might be either in the provisioning app or in the esp-idf.

Environment

Problem Description

ios provisioning app is not able to scan S3 but successfully scans C3.
Using ios 15.4 on Iphone SE + Galaxy S21

I picked C3 as comparisong because they both are BLE 5.0 chipsets.

Also, both examples are using the same BLE settings, with
Bluedroid - Dual mode selected, the rest is default.
Steps to reproduce

simply compile from
esp-idf\examples\provisioning\wifi_prov_mgr
for both C3 and S3, then flash devices.

C3 will popup in the BLE app for ios, S3 will not.
Both are visible in android BLE app.

iOS now supports connecting to a hotspot within app

Point 6 in the docs says:

  1. SoftAP based provisioning requires the phone app user to go to “System Settings” to connect to Wi-Fi network hosted by the device in case of iOS. The discovery (scanning) as well as connection API is not available for the iOS applications.

It's not true anymore. I just managed to connect to the hotspot using NEHotspotConfiguration:

let configuration = NEHotspotConfiguration(ssid: "PROV_SSID", passphrase: "PROV_PASS", isWEP: false)
configuration.joinOnce = true
NEHotspotConfigurationManager.shared.apply(configuration) { error in
  if (error != nil){
    print ("Got error", error)
  } else {
    print("Connected successfully")
  }
}

It works starting from iOS 11. So I think it's safe to update the example and the docs. Or at least mention that this possibility exists. For me it was a deal breaker because I don't want to send my users to System Settings

How to know when the user has entered an incorrect network password?

Hello,

I need to know when the user has introduced an incorrect password, to warn them about it. So far I tested it and it seems that when I call the provision method, the status returns something along the lines of: "wifiStatusAuthenticationError".

device?.provision(ssid: ssid, passPhrase: pass) { status in        
switch status {
            case .success:
                print("Success conecting to netowkr: \(ssid)")
            case .configApplied:
                print("Configuration applied, waiting for the device to connect")
            default:
                let error = "\(status)"
                if error.contains("wifiStatusAuthenticationError") {
                   print("Error, wifi password incorrect")
                } else {
                    print("Another error.")
                }
     }

The problem is that sometimes, when the password is incorrect, I received something like this:

Error Domain=NSURLErrorDomain Code=-1009 "The Internet connection appears to be offline."

Is there a consistent way to do this? Or there is something I am not understanding/ doing wrong?

ESP BLE App not working on iOS

Hello,

For a while now I have been trying to use the ESP BLE provisioning app available on the Apple App Store to provision the ESP32 to the Wi-Fi network but for some reason it is not working on the iOS app. I only managed to get it working on the Android version. I am using the WiFiProv.h library on Arduino IDE using iOS 15 on iPhone 13 Pro Max.

I have tried deleting the app and reinstalling it but still the same behavior. I have also tried to use the iOS Rainmaker app and I get the same issue. I am not able to see the device on the Wi-Fi and Bluetooth search list when doing a scan.

Can you please advise on a solution to this issue.

Wi-Fi network list is always empty ?

Hi,

the app detects the BLE device in the right way but then, after the proof of possession, the Wi-Fi network list is always empty... I can press "Join Other Network" of course... but a list of the available networks shouldn't be there ?

IMG_9439

    Giampaolo

Network connection was lost when trying to reconnect to the ESP device after disconnecting

Problem

In our app, before we actually provision the device, we have to make an API call hence we have to disconnect from the ESPDevice and after making the api call, we have to connect to it again. But when we try to connect again with delegate while providing the correct POP, it doesn't connect. It fails to initialise a session because the network connection was lost.

To Reproduce

  1. Disconnect the device
  2. Connect to the device again

Expected behavior
The device should be connected again without any issues

iOS information:

  • Device type: iPhone
  • Device model: 13 Pro Max
  • iOS version: 15.5

Provisioning information:

  • ESPProvision iOS SDK version: 2.0.16
  • Device type: BLE
  • Security: Secure

WiFi scanning not working with example ESP BLE PROV iOS app.

I was testing the example ESP BLE Prov iOS app downloaded directly from the app store, but the app seems to get stuck on scanning for nearby WiFi networks. Could this be a bug? I have tried multiple iPhones and multiple ESP dev kits to make sure that is not the issue. I am flashing the example ble povisioning code from Espressif to the ESP dev kits. Attached below is a screenshot of the loading screen the app gets stuck on. Thanks for your help.

image

Read characteristics of the BLE device based on UUID

The library works great.
Is there a method where I can read the characteristics of the device(from UUID) using ESP.Here I am not able to do
connectedDevice?.peripheral.discoverServices([UUID]) , as peripheral is not accessible

ESP SoftAP Prov App on the Appstore iOS 15.1 not working

I have a fresh install of the app on iOS 15. As soon as I press connect it takes me to the Settings pages
IMG_8133
As you can see I have all permissions allowed.
I am not getting a prompt to enable local network permission and it doesn't even show up in the app settings.
Please help.

peripheralDisconnected not propagated in ESPProvision (IDFGH-5245)

There is no way to know if the peripheral got disconnected because the delegate is not implemented.

extension ESPProvisionManager: ESPBLETransportDelegate {

func peripheralConfigured(peripheral _: CBPeripheral) {}

func peripheralNotConfigured(peripheral _: CBPeripheral) {}

func peripheralDisconnected(peripheral: CBPeripheral, error _: Error?) {}

func bluetoothUnavailable() {}

}

Unable to connect ESP BLE(Descriptor.value = 0)

<CBDescriptor: 0x282683120, UUID = Client Characteristic Configuration, value = 0>
Descriptor.value = 0
utility.processDescriptor(descriptor: descriptor)and readCounter is 1
in below method

func peripheral(_: CBPeripheral, didUpdateValueFor descriptor: CBDescriptor, error _: Error?) {
ESPLog.log("Did update value for descriptor: (descriptor)")
utility.processDescriptor(descriptor: descriptor)
readCounter -= 1
if readCounter < 1 {
if utility.peripheralConfigured {
bleConnectTimer.invalidate()
bleStatusDelegate?.peripheralConnected()
}
}
}

espDevice.provision reports an error, session nil

Excuse me

When SoftAP network configuration, call "provision" to report an error, session == nil, program crash

espDevice.provision(ssid: ssid!, passPhrase: passPhrase!, completionHandler: { (status) in
        print(status)
})
 public func provision(ssid: String, passPhrase: String = "", completionHandler: @escaping (ESPProvisionStatus) -> Void) {
        ESPLog.log("Provisioning started.. with ssid:\(ssid) and password:\(passPhrase)")
        if session == nil, !session.isEstablished { // session == nil , program crash
            completionHandler(.failure(.sessionError))
        } else {
            provisionDevice(ssid: ssid, passPhrase: passPhrase, retryOnce: true, completionHandler: completionHandler)
        }
    }

Error while connecting to the device

Hello,

I'm having an issue while trying to connect to a created ESPDevice. The error is as follows:

First of all, after I'm connected to the device's network, I create the ESPDevice as follows:

ESPProvisionManager.shared.createESPDevice(
                deviceName: ssid, transport: .softap, completionHandler: { espDevice, _ in
                print("Device created")
                if espDevice != nil {
                     self.connectToDevice(espDevice)
                } else {
                       print("error")
                }
 })

This works great, but the problems comes when I try to connect to the device. The code for it is as follows:

espDevice?.connect { status in
            switch status {
            case .connected:
             print("success")
            case .disconnected:
             print("Disconnected")
            case let .failedToConnect(error):
                print("Failed to connect \(error)")
        }
}

In here sometimes an error comes thought the "failedToConnect" part, that is as follows:

The Internet connection appears to be offline

My questions are as follows:

  1. What is exactly that error?
  2. Can I just ignore it and continue as if not error occurred, or it's a death-lock error?

Thanks in advance

Broken WiFi provisioning after app switching.

I'm unable to complete WiFi provisioning if I switch apps on the WiFi password dialog.
I'm using ESP-IDF v4.1-beta2, iOS app 2.0.4
Log:

I (23971) protocomm_httpd: Creating new session: 57
W (25401) protocomm_httpd: Closing session as socket 57 was closed
I (25411) protocomm_httpd: Creating new session: 57
E (25461) security1: Security version mismatch. Closing connection
E (25461) protocomm_httpd: Data handler failed
W (25461) httpd_uri: httpd_uri: uri handler execution failed
``

ESP BLE Provisioning app is broken on iOS

A few days ago the ESP BLE Provisioning App stopped functioning on iOS. I could no longer provision ESP32 devices that had worked perfectly before.

Inspecting the latest code I see that the ProofOfPossession key in ESPProvision/Info.plist has changed to "abcd123456233". I'm guessing this is why the app is broken as all other sample code uses "abcd1234".

Running with a custom Product ID

Hi!
I'm struggling to run provisioning with a custom AWS account and AVS product id. I'm not an experienced iOS developer. Could you kindly provide example files with changes(what and where) that I should make in the iOS project to run with a custom product id?

Espressif 'master' library bug

We are using the Espressif library in https://github.com/espressif/esp-idf-provisioning-ios

Using the Espressif library, the provisioning doesn’t work. The process we use is calling:

SetData – to set the AVS parameters, after successful Amazon login.
Provision – to set the Wifi network SSID and password.
Launching the provision(ESPDevice.Provision()) the command blocks the device, which doesn’t reply to the command at all. We checked this at low (iOS peripheral) level: Debugging both the Espressif App () and the Espressif Library I saw the carachteristic used is different:

avsconfig – in library (but this is the characteristic to write the AVS configuration, NOT the Wifi settings!)
prov-config – in the test application (this seems to be the correct characteristic!)
Modifying the library to use prov-config during the wifi provision process instead of 'avsconfig' the provision process completes correctly. Please verify and update your library. NOTE: at a static code analysis it looks like the endpoint is correct (prov-config), but at runtime the call is done to 'avsconfig'

Connection to device twice causes app to freeze

I tap on a device to pair, but select cancel pairing. Then I tap on the device again, and the app freezes. How can I fix this problem?

Steps to reproduce:

  1. Download code at commit fbad43f (should be the latest as of 5/10/22)
  2. Navigate to the page for scanning BLE devices
  3. After a device has been found, tap on it. Click cancel pairing
  4. Tap on the device again. Now the app is frozen and I can't press any of the menu buttons.

Here is a video showing the steps I described above.
https://user-images.githubusercontent.com/35203563/167766440-7fd216e8-5b1e-4366-96dd-51bc8ae993b8.mp4

App disconnecting after POP confirmation

App issue for:
espressif/esp-idf#8739

After inserting POP "abcd1234" in the app and pressing the button the communication gets dropped, and the device restarts advertising.

By doing some digging in the device code the connection gets closed by ESP_GATT_CONN_TERMINATE_PEER_USER.

I (81817) BT_L2CAP: L2CA_SendFixedChnlData()  CID: 0x0004  BDA: 7df1e81556af
I (84707) BT_GATT: GATT_GetConnIdIfConnected status=0

I (84707) BT_L2CAP: L2CA_SetDesireRole() new:x1, disallow_switch:0
E (84707) simple_ble: ESP_GATTS_DISCONNECT_EVT, reason = 13
I (84707) BT_APPL: BTA_DmSetBleAdvParamsAll: 256, 256

I (84717) BT_APPL: adv_type = 0, addr_type_own = 0, chnl_map = 7, adv_fil_pol = 0

error build xcode

PhaseScriptExecution Generate\ Swift\ Proto\ files /Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Script-14E4319221118AD000A76D62.sh (in target 'EspressifProvision' from project 'EspressifProvision')
cd /Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision
export ACTION=build
export AD_HOC_CODE_SIGNING_ALLOWED=NO
export ALTERNATE_GROUP=staff
export ALTERNATE_MODE=u+w,go-w,a+rX
export ALTERNATE_OWNER=cafe
export ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES=YES
export ALWAYS_SEARCH_USER_PATHS=NO
export ALWAYS_USE_SEPARATE_HEADERMAPS=NO
export APPLE_INTERNAL_DEVELOPER_DIR=/AppleInternal/Developer
export APPLE_INTERNAL_DIR=/AppleInternal
export APPLE_INTERNAL_DOCUMENTATION_DIR=/AppleInternal/Documentation
export APPLE_INTERNAL_LIBRARY_DIR=/AppleInternal/Library
export APPLE_INTERNAL_TOOLS=/AppleInternal/Developer/Tools
export APPLICATION_EXTENSION_API_ONLY=NO
export APPLY_RULES_IN_COPY_FILES=NO
export APPLY_RULES_IN_COPY_HEADERS=NO
export APP_DISPLAY_NAME=Espressif
export ARCHS=arm64
export ARCHS_STANDARD=armv7\ arm64
export ARCHS_STANDARD_32_64_BIT=armv7\ arm64
export ARCHS_STANDARD_32_BIT=armv7
export ARCHS_STANDARD_64_BIT=arm64
export ARCHS_STANDARD_INCLUDING_64_BIT=armv7\ arm64
export ARCHS_UNIVERSAL_IPHONE_OS=armv7\ arm64
export ASSETCATALOG_COMPILER_APPICON_NAME=AppIcon
export AVAILABLE_PLATFORMS=appletvos\ appletvsimulator\ iphoneos\ iphonesimulator\ macosx\ watchos\ watchsimulator
export AppIdentifierPrefix=9D534V7Q2J.
export BITCODE_GENERATION_MODE=marker
export BUILD_ACTIVE_RESOURCES_ONLY=YES
export BUILD_COMPONENTS=headers\ build
export BUILD_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products
export BUILD_LIBRARY_FOR_DISTRIBUTION=NO
export BUILD_ROOT=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products
export BUILD_STYLE=
export BUILD_VARIANTS=normal
export BUILD_VERSION=2
export BUILT_PRODUCTS_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos
export BUNDLE_CONTENTS_FOLDER_PATH_deep=Contents/
export BUNDLE_EXECUTABLE_FOLDER_NAME_deep=MacOS
export BUNDLE_FORMAT=shallow
export BUNDLE_FRAMEWORKS_FOLDER_PATH=Frameworks
export BUNDLE_PLUGINS_FOLDER_PATH=PlugIns
export BUNDLE_PRIVATE_HEADERS_FOLDER_PATH=PrivateHeaders
export BUNDLE_PUBLIC_HEADERS_FOLDER_PATH=Headers
export BUNDLE_VERSION=1.2
export CACHE_ROOT=/var/folders/9_/9qsrgbfx49lghvz1gb7llcnc0000gn/C/com.apple.DeveloperTools/12.0-12A6163b/Xcode
export CCHROOT=/var/folders/9_/9qsrgbfx49lghvz1gb7llcnc0000gn/C/com.apple.DeveloperTools/12.0-12A6163b/Xcode
export CHMOD=/bin/chmod
export CHOWN=/usr/sbin/chown
export CLANG_ANALYZER_NONNULL=YES
export CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION=YES_AGGRESSIVE
export CLANG_CXX_LANGUAGE_STANDARD=gnu++14
export CLANG_CXX_LIBRARY=libc++
export CLANG_ENABLE_MODULES=YES
export CLANG_ENABLE_OBJC_ARC=YES
export CLANG_ENABLE_OBJC_WEAK=YES
export CLANG_MODULES_BUILD_SESSION_FILE=/Users/cafe/Library/Developer/Xcode/DerivedData/ModuleCache.noindex/Session.modulevalidation
export CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING=YES
export CLANG_WARN_BOOL_CONVERSION=YES
export CLANG_WARN_COMMA=YES
export CLANG_WARN_CONSTANT_CONVERSION=YES
export CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS=YES
export CLANG_WARN_DIRECT_OBJC_ISA_USAGE=YES_ERROR
export CLANG_WARN_DOCUMENTATION_COMMENTS=YES
export CLANG_WARN_EMPTY_BODY=YES
export CLANG_WARN_ENUM_CONVERSION=YES
export CLANG_WARN_INFINITE_RECURSION=YES
export CLANG_WARN_INT_CONVERSION=YES
export CLANG_WARN_NON_LITERAL_NULL_CONVERSION=YES
export CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF=YES
export CLANG_WARN_OBJC_LITERAL_CONVERSION=YES
export CLANG_WARN_OBJC_ROOT_CLASS=YES_ERROR
export CLANG_WARN_RANGE_LOOP_ANALYSIS=YES
export CLANG_WARN_STRICT_PROTOTYPES=YES
export CLANG_WARN_SUSPICIOUS_MOVE=YES
export CLANG_WARN_UNGUARDED_AVAILABILITY=YES_AGGRESSIVE
export CLANG_WARN_UNREACHABLE_CODE=YES
export CLANG_WARN__DUPLICATE_METHOD_MATCH=YES
export CLASS_FILE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/JavaClasses
export CLEAN_PRECOMPS=YES
export CLONE_HEADERS=NO
export CODESIGNING_FOLDER_PATH=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/EspressifProvision.app
export CODE_SIGNING_ALLOWED=YES
export CODE_SIGNING_REQUIRED=YES
export CODE_SIGN_CONTEXT_CLASS=XCiPhoneOSCodeSignContext
export CODE_SIGN_IDENTITY=iPhone\ Developer
export CODE_SIGN_INJECT_BASE_ENTITLEMENTS=YES
export CODE_SIGN_STYLE=Automatic
export COLOR_DIAGNOSTICS=NO
export COMBINE_HIDPI_IMAGES=NO
export COMPILER_INDEX_STORE_ENABLE=Default
export COMPOSITE_SDK_DIRS=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/CompositeSDKs
export COMPRESS_PNG_FILES=YES
export CONFIGURATION=Debug
export CONFIGURATION_BUILD_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos
export CONFIGURATION_TEMP_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos
export CONTENTS_FOLDER_PATH=EspressifProvision.app
export COPYING_PRESERVES_HFS_DATA=NO
export COPY_HEADERS_RUN_UNIFDEF=NO
export COPY_PHASE_STRIP=NO
export COPY_RESOURCES_FROM_STATIC_FRAMEWORKS=YES
export CORRESPONDING_SIMULATOR_PLATFORM_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform
export CORRESPONDING_SIMULATOR_PLATFORM_NAME=iphonesimulator
export CORRESPONDING_SIMULATOR_SDK_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator14.0.sdk
export CORRESPONDING_SIMULATOR_SDK_NAME=iphonesimulator14.0
export CP=/bin/cp
export CREATE_INFOPLIST_SECTION_IN_BINARY=NO
export CURRENT_ARCH=undefined_arch
export CURRENT_VARIANT=normal
export DEAD_CODE_STRIPPING=YES
export DEBUGGING_SYMBOLS=YES
export DEBUG_INFORMATION_FORMAT=dwarf
export DEFAULT_COMPILER=com.apple.compilers.llvm.clang.1_0
export DEFAULT_DEXT_INSTALL_PATH=/System/Library/DriverExtensions
export DEFAULT_KEXT_INSTALL_PATH=/System/Library/Extensions
export DEFINES_MODULE=NO
export DEPLOYMENT_LOCATION=NO
export DEPLOYMENT_POSTPROCESSING=NO
export DEPLOYMENT_TARGET_CLANG_ENV_NAME=IPHONEOS_DEPLOYMENT_TARGET
export DEPLOYMENT_TARGET_CLANG_FLAG_NAME=miphoneos-version-min
export DEPLOYMENT_TARGET_CLANG_FLAG_PREFIX=-miphoneos-version-min=
export DEPLOYMENT_TARGET_LD_ENV_NAME=IPHONEOS_DEPLOYMENT_TARGET
export DEPLOYMENT_TARGET_LD_FLAG_NAME=ios_version_min
export DEPLOYMENT_TARGET_SETTING_NAME=IPHONEOS_DEPLOYMENT_TARGET
export DEPLOYMENT_TARGET_SUGGESTED_VALUES=9.0\ 9.1\ 9.2\ 9.3\ 10.0\ 10.1\ 10.2\ 10.3\ 11.0\ 11.1\ 11.2\ 11.3\ 11.4\ 12.0\ 12.1\ 12.2\ 12.3\ 12.4\ 13.0\ 13.1\ 13.2\ 13.3\ 13.4\ 13.5\ 14.0
export DERIVED_FILES_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/DerivedSources
export DERIVED_FILE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/DerivedSources
export DERIVED_SOURCES_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/DerivedSources
export DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER=NO
export DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Applications
export DEVELOPER_BIN_DIR=/Applications/Xcode-beta.app/Contents/Developer/usr/bin
export DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer
export DEVELOPER_FRAMEWORKS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Library/Frameworks
export DEVELOPER_FRAMEWORKS_DIR_QUOTED=/Applications/Xcode-beta.app/Contents/Developer/Library/Frameworks
export DEVELOPER_LIBRARY_DIR=/Applications/Xcode-beta.app/Contents/Developer/Library
export DEVELOPER_SDK_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs
export DEVELOPER_TOOLS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Tools
export DEVELOPER_USR_DIR=/Applications/Xcode-beta.app/Contents/Developer/usr
export DEVELOPMENT_LANGUAGE=en
export DEVELOPMENT_TEAM=9D534V7Q2J
export DOCUMENTATION_FOLDER_PATH=EspressifProvision.app/en.lproj/Documentation
export DONT_GENERATE_INFOPLIST_FILE=NO
export DO_HEADER_SCANNING_IN_JAM=NO
export DSTROOT=/tmp/EspressifProvision.dst
export DT_TOOLCHAIN_DIR=/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
export DWARF_DSYM_FILE_NAME=EspressifProvision.app.dSYM
export DWARF_DSYM_FILE_SHOULD_ACCOMPANY_PRODUCT=NO
export DWARF_DSYM_FOLDER_PATH=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos
export EFFECTIVE_PLATFORM_NAME=-iphoneos
export EMBEDDED_CONTENT_CONTAINS_SWIFT=NO
export EMBEDDED_PROFILE_NAME=embedded.mobileprovision
export EMBED_ASSET_PACKS_IN_PRODUCT_BUNDLE=NO
export ENABLE_BITCODE=YES
export ENABLE_DEFAULT_HEADER_SEARCH_PATHS=YES
export ENABLE_HARDENED_RUNTIME=NO
export ENABLE_HEADER_DEPENDENCIES=YES
export ENABLE_ON_DEMAND_RESOURCES=YES
export ENABLE_PREVIEWS=NO
export ENABLE_STRICT_OBJC_MSGSEND=YES
export ENABLE_TESTABILITY=YES
export ENABLE_TESTING_SEARCH_PATHS=NO
export ENTITLEMENTS_ALLOWED=YES
export ENTITLEMENTS_DESTINATION=Signature
export ENTITLEMENTS_REQUIRED=YES
export EXCLUDED_INSTALLSRC_SUBDIRECTORY_PATTERNS=.DS_Store\ .svn\ .git\ .hg\ CVS
export EXCLUDED_RECURSIVE_SEARCH_PATH_SUBDIRECTORIES=*.nib\ *.lproj\ *.framework\ *.gch\ *.xcode*\ *.xcassets\ (*)\ .DS_Store\ CVS\ .svn\ .git\ .hg\ *.pbproj\ *.pbxproj
export EXECUTABLES_FOLDER_PATH=EspressifProvision.app/Executables
export EXECUTABLE_FOLDER_PATH=EspressifProvision.app
export EXECUTABLE_NAME=EspressifProvision
export EXECUTABLE_PATH=EspressifProvision.app/EspressifProvision
export EXPANDED_CODE_SIGN_IDENTITY=66E1E6A820DACFF9EE0C4C33C1CD0C04755ACCB3
export EXPANDED_CODE_SIGN_IDENTITY_NAME=Apple\ Development:\ junhua\ tang\ (UQURX5U73Q)
export EXPANDED_PROVISIONING_PROFILE=17f6d646-b133-47e9-a8df-860e69dfc97a
export FILE_LIST=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Objects/LinkFileList
export FIXED_FILES_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/FixedFiles
export FRAMEWORKS_FOLDER_PATH=EspressifProvision.app/Frameworks
export FRAMEWORK_FLAG_PREFIX=-framework
export FRAMEWORK_SEARCH_PATHS=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos\ \ "/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/Curve25519"\ "/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/MBProgressHUD"\ "/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/SwiftProtobuf"\ /Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision
export FRAMEWORK_VERSION=A
export FULL_PRODUCT_NAME=EspressifProvision.app
export GCC3_VERSION=3.3
export GCC_C_LANGUAGE_STANDARD=gnu11
export GCC_DYNAMIC_NO_PIC=NO
export GCC_INLINES_ARE_PRIVATE_EXTERN=YES
export GCC_NO_COMMON_BLOCKS=YES
export GCC_OPTIMIZATION_LEVEL=0
export GCC_PFE_FILE_C_DIALECTS=c\ objective-c\ c++\ objective-c++
export GCC_PREPROCESSOR_DEFINITIONS=DEBUG=1\ \ COCOAPODS=1
export GCC_SYMBOLS_PRIVATE_EXTERN=NO
export GCC_THUMB_SUPPORT=YES
export GCC_TREAT_WARNINGS_AS_ERRORS=NO
export GCC_VERSION=com.apple.compilers.llvm.clang.1_0
export GCC_VERSION_IDENTIFIER=com_apple_compilers_llvm_clang_1_0
export GCC_WARN_64_TO_32_BIT_CONVERSION=YES
export GCC_WARN_ABOUT_RETURN_TYPE=YES_ERROR
export GCC_WARN_UNDECLARED_SELECTOR=YES
export GCC_WARN_UNINITIALIZED_AUTOS=YES_AGGRESSIVE
export GCC_WARN_UNUSED_FUNCTION=YES
export GCC_WARN_UNUSED_VARIABLE=YES
export GENERATE_MASTER_OBJECT_FILE=NO
export GENERATE_PKGINFO_FILE=YES
export GENERATE_PROFILING_CODE=NO
export GENERATE_TEXT_BASED_STUBS=NO
export GID=20
export GROUP=staff
export HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=YES
export HEADERMAP_INCLUDES_FRAMEWORK_ENTRIES_FOR_ALL_PRODUCT_TYPES=YES
export HEADERMAP_INCLUDES_NONPUBLIC_NONPRIVATE_HEADERS=YES
export HEADERMAP_INCLUDES_PROJECT_HEADERS=YES
export HEADERMAP_USES_FRAMEWORK_PREFIX_ENTRIES=YES
export HEADERMAP_USES_VFS=NO
export HEADER_SEARCH_PATHS=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/include\ \ "/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/Curve25519/Curve25519.framework/Headers"\ "/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/MBProgressHUD/MBProgressHUD.framework/Headers"\ "/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/SwiftProtobuf/SwiftProtobuf.framework/Headers"
export HIDE_BITCODE_SYMBOLS=YES
export HOME=/Users/cafe
export ICONV=/usr/bin/iconv
export INFOPLIST_EXPAND_BUILD_SETTINGS=YES
export INFOPLIST_FILE=EspressifProvision/Info.plist
export INFOPLIST_OUTPUT_FORMAT=binary
export INFOPLIST_PATH=EspressifProvision.app/Info.plist
export INFOPLIST_PREPROCESS=NO
export INFOSTRINGS_PATH=EspressifProvision.app/en.lproj/InfoPlist.strings
export INLINE_PRIVATE_FRAMEWORKS=NO
export INSTALLHDRS_COPY_PHASE=NO
export INSTALLHDRS_SCRIPT_PHASE=NO
export INSTALL_DIR=/tmp/EspressifProvision.dst/Applications
export INSTALL_GROUP=staff
export INSTALL_MODE_FLAG=u+w,go-w,a+rX
export INSTALL_OWNER=cafe
export INSTALL_PATH=/Applications
export INSTALL_ROOT=/tmp/EspressifProvision.dst
export IPHONEOS_DEPLOYMENT_TARGET=10.0
export JAVAC_DEFAULT_FLAGS=-J-Xms64m\ -J-XX:NewSize=4M\ -J-Dfile.encoding=UTF8
export JAVA_APP_STUB=/System/Library/Frameworks/JavaVM.framework/Resources/MacOS/JavaApplicationStub
export JAVA_ARCHIVE_CLASSES=YES
export JAVA_ARCHIVE_TYPE=JAR
export JAVA_COMPILER=/usr/bin/javac
export JAVA_FOLDER_PATH=EspressifProvision.app/Java
export JAVA_FRAMEWORK_RESOURCES_DIRS=Resources
export JAVA_JAR_FLAGS=cv
export JAVA_SOURCE_SUBDIR=.
export JAVA_USE_DEPENDENCIES=YES
export JAVA_ZIP_FLAGS=-urg
export JIKES_DEFAULT_FLAGS=+E\ +OLDCSO
export KASAN_DEFAULT_CFLAGS=-DKASAN=1\ -fsanitize=address\ -mllvm\ -asan-globals-live-support\ -mllvm\ -asan-force-dynamic-shadow
export KEEP_PRIVATE_EXTERNS=NO
export LD_DEPENDENCY_INFO_FILE=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Objects-normal/undefined_arch/EspressifProvision_dependency_info.dat
export LD_GENERATE_MAP_FILE=NO
export LD_MAP_FILE_PATH=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/EspressifProvision-LinkMap-normal-undefined_arch.txt
export LD_NO_PIE=NO
export LD_QUOTE_LINKER_ARGUMENTS_FOR_COMPILER_DRIVER=YES
export LD_RUNPATH_SEARCH_PATHS=\ '@executable_path/Frameworks'\ '@loader_path/Frameworks'\ @executable_path/Frameworks
export LEGACY_DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/PlugIns/Xcode3Core.ideplugin/Contents/SharedSupport/Developer
export LEX=lex
export LIBRARY_DEXT_INSTALL_PATH=/Library/DriverExtensions
export LIBRARY_FLAG_NOSPACE=YES
export LIBRARY_FLAG_PREFIX=-l
export LIBRARY_KEXT_INSTALL_PATH=/Library/Extensions
export LIBRARY_SEARCH_PATHS=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos\
export LINKER_DISPLAYS_MANGLED_NAMES=NO
export LINK_FILE_LIST_normal_arm64=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Objects-normal/arm64/EspressifProvision.LinkFileList
export LINK_WITH_STANDARD_LIBRARIES=YES
export LLVM_TARGET_TRIPLE_OS_VERSION=ios10.0
export LLVM_TARGET_TRIPLE_VENDOR=apple
export LOCALIZED_RESOURCES_FOLDER_PATH=EspressifProvision.app/en.lproj
export LOCALIZED_STRING_MACRO_NAMES=NSLocalizedString\ CFCopyLocalizedString
export LOCALIZED_STRING_SWIFTUI_SUPPORT=YES
export LOCAL_ADMIN_APPS_DIR=/Applications/Utilities
export LOCAL_APPS_DIR=/Applications
export LOCAL_DEVELOPER_DIR=/Library/Developer
export LOCAL_LIBRARY_DIR=/Library
export LOCROOT=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision
export LOCSYMROOT=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision
export MACH_O_TYPE=mh_execute
export MAC_OS_X_PRODUCT_BUILD_VERSION=20A4300b
export MAC_OS_X_VERSION_ACTUAL=101600
export MAC_OS_X_VERSION_MAJOR=101600
export MAC_OS_X_VERSION_MINOR=1600
export METAL_LIBRARY_FILE_BASE=default
export METAL_LIBRARY_OUTPUT_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/EspressifProvision.app
export MODULES_FOLDER_PATH=EspressifProvision.app/Modules
export MODULE_CACHE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/ModuleCache.noindex
export MTL_ENABLE_DEBUG_INFO=YES
export NATIVE_ARCH=armv7
export NATIVE_ARCH_32_BIT=i386
export NATIVE_ARCH_64_BIT=x86_64
export NATIVE_ARCH_ACTUAL=x86_64
export NO_COMMON=YES
export OBJECT_FILE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Objects
export OBJECT_FILE_DIR_normal=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Objects-normal
export OBJROOT=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex
export ONLY_ACTIVE_ARCH=YES
export OS=MACOS
export OSAC=/usr/bin/osacompile
export OTHER_LDFLAGS=\ -framework\ "CoreGraphics"\ -framework\ "Curve25519"\ -framework\ "MBProgressHUD"\ -framework\ "QuartzCore"\ -framework\ "SwiftProtobuf"
export OTHER_SWIFT_FLAGS=\ -D\ COCOAPODS
export PACKAGE_TYPE=com.apple.package-type.wrapper.application
export PASCAL_STRINGS=YES
export PATH=/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/local/bin:/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/libexec:/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/usr/local/bin:/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/local/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/bin:/Applications/Xcode-beta.app/Contents/Developer/usr/local/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
export PATH_PREFIXES_EXCLUDED_FROM_HEADER_DEPENDENCIES=/usr/include\ /usr/local/include\ /System/Library/Frameworks\ /System/Library/PrivateFrameworks\ /Applications/Xcode-beta.app/Contents/Developer/Headers\ /Applications/Xcode-beta.app/Contents/Developer/SDKs\ /Applications/Xcode-beta.app/Contents/Developer/Platforms
export PBDEVELOPMENTPLIST_PATH=EspressifProvision.app/pbdevelopment.plist
export PER_ARCH_OBJECT_FILE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Objects-normal/undefined_arch
export PER_VARIANT_OBJECT_FILE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Objects-normal
export PKGINFO_FILE_PATH=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/PkgInfo
export PKGINFO_PATH=EspressifProvision.app/PkgInfo
export PLATFORM_DEVELOPER_APPLICATIONS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Applications
export PLATFORM_DEVELOPER_BIN_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin
export PLATFORM_DEVELOPER_LIBRARY_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library
export PLATFORM_DEVELOPER_SDK_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs
export PLATFORM_DEVELOPER_TOOLS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Tools
export PLATFORM_DEVELOPER_USR_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr
export PLATFORM_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform
export PLATFORM_DISPLAY_NAME=iOS
export PLATFORM_FAMILY_NAME=iOS
export PLATFORM_NAME=iphoneos
export PLATFORM_PREFERRED_ARCH=arm64
export PLATFORM_PRODUCT_BUILD_VERSION=18A5319g
export PLIST_FILE_OUTPUT_FORMAT=binary
export PLUGINS_FOLDER_PATH=EspressifProvision.app/PlugIns
export PODS_BUILD_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products
export PODS_CONFIGURATION_BUILD_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos
export PODS_PODFILE_DIR_PATH=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision/.
export PODS_ROOT=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision/Pods
export PRECOMPS_INCLUDE_HEADERS_FROM_BUILT_PRODUCTS_DIR=YES
export PRECOMP_DESTINATION_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/PrefixHeaders
export PRESERVE_DEAD_CODE_INITS_AND_TERMS=NO
export PRIVATE_HEADERS_FOLDER_PATH=EspressifProvision.app/PrivateHeaders
export PRODUCT_BUNDLE_IDENTIFIER=com.espressif.intprovsoftap22
export PRODUCT_BUNDLE_PACKAGE_TYPE=APPL
export PRODUCT_MODULE_NAME=EspressifProvision
export PRODUCT_NAME=EspressifProvision
export PRODUCT_SETTINGS_PATH=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision/EspressifProvision/Info.plist
export PRODUCT_TYPE=com.apple.product-type.application
export PROFILING_CODE=NO
export PROJECT=EspressifProvision
export PROJECT_DERIVED_FILE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/DerivedSources
export PROJECT_DIR=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision
export PROJECT_FILE_PATH=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision/EspressifProvision.xcodeproj
export PROJECT_NAME=EspressifProvision
export PROJECT_TEMP_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build
export PROJECT_TEMP_ROOT=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex
export PROVISIONING_PROFILE_REQUIRED=YES
export PUBLIC_HEADERS_FOLDER_PATH=EspressifProvision.app/Headers
export RECURSIVE_SEARCH_PATHS_FOLLOW_SYMLINKS=YES
export REMOVE_CVS_FROM_RESOURCES=YES
export REMOVE_GIT_FROM_RESOURCES=YES
export REMOVE_HEADERS_FROM_EMBEDDED_BUNDLES=YES
export REMOVE_HG_FROM_RESOURCES=YES
export REMOVE_SVN_FROM_RESOURCES=YES
export RESOURCE_RULES_REQUIRED=YES
export REZ_COLLECTOR_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/ResourceManagerResources
export REZ_OBJECTS_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/ResourceManagerResources/Objects
export REZ_SEARCH_PATHS=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos\
export SCAN_ALL_SOURCE_FILES_FOR_INCLUDES=NO
export SCRIPTS_FOLDER_PATH=EspressifProvision.app/Scripts
export SCRIPT_INPUT_FILE_COUNT=0
export SCRIPT_INPUT_FILE_LIST_COUNT=0
export SCRIPT_OUTPUT_FILE_COUNT=0
export SCRIPT_OUTPUT_FILE_LIST_COUNT=0
export SDKROOT=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk
export SDK_DIR=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk
export SDK_DIR_iphoneos14_0=/Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk
export SDK_NAME=iphoneos14.0
export SDK_NAMES=iphoneos14.0
export SDK_PRODUCT_BUILD_VERSION=18A5319g
export SDK_VERSION=14.0
export SDK_VERSION_ACTUAL=140000
export SDK_VERSION_MAJOR=140000
export SDK_VERSION_MINOR=000
export SED=/usr/bin/sed
export SEPARATE_STRIP=NO
export SEPARATE_SYMBOL_EDIT=NO
export SET_DIR_MODE_OWNER_GROUP=YES
export SET_FILE_MODE_OWNER_GROUP=NO
export SHALLOW_BUNDLE=YES
export SHARED_DERIVED_FILE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos/DerivedSources
export SHARED_FRAMEWORKS_FOLDER_PATH=EspressifProvision.app/SharedFrameworks
export SHARED_PRECOMPS_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/PrecompiledHeaders
export SHARED_SUPPORT_FOLDER_PATH=EspressifProvision.app/SharedSupport
export SKIP_INSTALL=NO
export SOURCE_ROOT=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision
export SRCROOT=/Users/cafe/Downloads/esp-idf-provisioning-ios-release_v1.2/EspressifProvision
export STRINGS_FILE_OUTPUT_ENCODING=binary
export STRIP_BITCODE_FROM_COPIED_FILES=YES
export STRIP_INSTALLED_PRODUCT=YES
export STRIP_STYLE=all
export STRIP_SWIFT_SYMBOLS=YES
export SUPPORTED_DEVICE_FAMILIES=1,2
export SUPPORTED_PLATFORMS=iphoneos\ iphonesimulator
export SUPPORTS_MACCATALYST=NO
export SUPPORTS_TEXT_BASED_API=NO
export SWIFT_ACTIVE_COMPILATION_CONDITIONS=DEBUG
export SWIFT_ENFORCE_EXCLUSIVE_ACCESS=off
export SWIFT_OBJC_BRIDGING_HEADER=EspressifProvision/EspressifProvision-Bridging-Header.h
export SWIFT_OPTIMIZATION_LEVEL=-Onone
export SWIFT_PLATFORM_TARGET_PREFIX=ios
export SWIFT_RESPONSE_FILE_PATH_normal_arm64=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Objects-normal/arm64/EspressifProvision.SwiftFileList
export SWIFT_VERSION=5.0
export SYMROOT=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products
export SYSTEM_ADMIN_APPS_DIR=/Applications/Utilities
export SYSTEM_APPS_DIR=/Applications
export SYSTEM_CORE_SERVICES_DIR=/System/Library/CoreServices
export SYSTEM_DEMOS_DIR=/Applications/Extras
export SYSTEM_DEVELOPER_APPS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Applications
export SYSTEM_DEVELOPER_BIN_DIR=/Applications/Xcode-beta.app/Contents/Developer/usr/bin
export SYSTEM_DEVELOPER_DEMOS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Applications/Utilities/Built\ Examples
export SYSTEM_DEVELOPER_DIR=/Applications/Xcode-beta.app/Contents/Developer
export SYSTEM_DEVELOPER_DOC_DIR=/Applications/Xcode-beta.app/Contents/Developer/ADC\ Reference\ Library
export SYSTEM_DEVELOPER_GRAPHICS_TOOLS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Applications/Graphics\ Tools
export SYSTEM_DEVELOPER_JAVA_TOOLS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Applications/Java\ Tools
export SYSTEM_DEVELOPER_PERFORMANCE_TOOLS_DIR=/Applications/Xcode-beta.app/Contents/Developer/Applications/Performance\ Tools
export SYSTEM_DEVELOPER_RELEASENOTES_DIR=/Applications/Xcode-beta.app/Contents/Developer/ADC\ Reference\ Library/releasenotes
export SYSTEM_DEVELOPER_TOOLS=/Applications/Xcode-beta.app/Contents/Developer/Tools
export SYSTEM_DEVELOPER_TOOLS_DOC_DIR=/Applications/Xcode-beta.app/Contents/Developer/ADC\ Reference\ Library/documentation/DeveloperTools
export SYSTEM_DEVELOPER_TOOLS_RELEASENOTES_DIR=/Applications/Xcode-beta.app/Contents/Developer/ADC\ Reference\ Library/releasenotes/DeveloperTools
export SYSTEM_DEVELOPER_USR_DIR=/Applications/Xcode-beta.app/Contents/Developer/usr
export SYSTEM_DEVELOPER_UTILITIES_DIR=/Applications/Xcode-beta.app/Contents/Developer/Applications/Utilities
export SYSTEM_DEXT_INSTALL_PATH=/System/Library/DriverExtensions
export SYSTEM_DOCUMENTATION_DIR=/Library/Documentation
export SYSTEM_KEXT_INSTALL_PATH=/System/Library/Extensions
export SYSTEM_LIBRARY_DIR=/System/Library
export TAPI_VERIFY_MODE=ErrorsOnly
export TARGETED_DEVICE_FAMILY=1,2
export TARGETNAME=EspressifProvision
export TARGET_BUILD_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Products/Debug-iphoneos
export TARGET_DEVICE_IDENTIFIER=00008020-00023CA83698002E
export TARGET_DEVICE_MODEL=iPhone11,6
export TARGET_DEVICE_OS_VERSION=14.0
export TARGET_NAME=EspressifProvision
export TARGET_TEMP_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build
export TEMP_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build
export TEMP_FILES_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build
export TEMP_FILE_DIR=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build
export TEMP_ROOT=/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex
export TEST_FRAMEWORK_SEARCH_PATHS=\ /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks\ /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.0.sdk/Developer/Library/Frameworks
export TEST_LIBRARY_SEARCH_PATHS=\ /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/lib
export TOOLCHAINS=com.apple.dt.toolchain.XcodeDefault
export TOOLCHAIN_DIR=/Applications/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain
export TREAT_MISSING_BASELINES_AS_TEST_FAILURES=NO
export TeamIdentifierPrefix=9D534V7Q2J.
export UID=501
export UNLOCALIZED_RESOURCES_FOLDER_PATH=EspressifProvision.app
export UNSTRIPPED_PRODUCT=NO
export USER=cafe
export USER_APPS_DIR=/Users/cafe/Applications
export USER_LIBRARY_DIR=/Users/cafe/Library
export USE_DYNAMIC_NO_PIC=YES
export USE_HEADERMAP=YES
export USE_HEADER_SYMLINKS=NO
export USE_LLVM_TARGET_TRIPLES=YES
export USE_LLVM_TARGET_TRIPLES_FOR_CLANG=YES
export USE_LLVM_TARGET_TRIPLES_FOR_LD=YES
export USE_LLVM_TARGET_TRIPLES_FOR_TAPI=YES
export USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES=YES
export VALIDATE_DEVELOPMENT_ASSET_PATHS=YES_ERROR
export VALIDATE_PRODUCT=NO
export VALIDATE_WORKSPACE=YES_ERROR
export VALID_ARCHS=arm64\ arm64e\ armv7\ armv7s
export VERBOSE_PBXCP=NO
export VERSIONPLIST_PATH=EspressifProvision.app/version.plist
export VERSION_INFO_BUILDER=cafe
export VERSION_INFO_FILE=EspressifProvision_vers.c
export VERSION_INFO_STRING="@(#)PROGRAM:EspressifProvision\ \ PROJECT:EspressifProvision-"
export WRAPPER_EXTENSION=app
export WRAPPER_NAME=EspressifProvision.app
export WRAPPER_SUFFIX=.app
export WRAP_ASSET_PACKS_IN_SEPARATE_DIRECTORIES=NO
export XCODE_APP_SUPPORT_DIR=/Applications/Xcode-beta.app/Contents/Developer/Library/Xcode
export XCODE_PRODUCT_BUILD_VERSION=12A6163b
export XCODE_VERSION_ACTUAL=1200
export XCODE_VERSION_MAJOR=1200
export XCODE_VERSION_MINOR=1200
export XPCSERVICES_FOLDER_PATH=EspressifProvision.app/XPCServices
export YACC=yacc
export arch=undefined_arch
export variant=normal
/bin/sh -c /Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Script-14E4319221118AD000A76D62.sh

/Users/cafe/Library/Developer/Xcode/DerivedData/EspressifProvision-ahvltvetswnqexecrnskgwdcoqpn/Build/Intermediates.noindex/EspressifProvision.build/Debug-iphoneos/EspressifProvision.build/Script-14E4319221118AD000A76D62.sh: line 3: protoc: command not found
Command PhaseScriptExecution failed with a nonzero exit code

Swift Package Manager Support

Hi thanks for this library, it works great! Question: is there a plan to include Swift Package Manager support to include this library into client applications?

on iOS calling prov-session twice results in a NSURLErrorDomain 1005 error "The network connection was lost"

When configuring wifi on a ESP device using iOS with the following steps over SoftAP with Security 1:

  1. Call prov-session with a correct POP code
  2. Supply incorrect credentials to prov-config, for example with an incorrect SSID passphrase
  3. An error is returned
  4. Correct the wifi credentials and then retry the above steps

Expected result:
Successfully create session and apply credentials

Actual result:
The call to prov-session fails with an NSURLErrorDomain 1005 error "The network connection was lost"

Xcode Compile Error (Swiftformat) - Incorporating provisioning into our own app

I get a compile error with the stock build of the provisioning downloaded from github:

dyld: Library not loaded: @rpath/libswiftCore.dylib
Referenced from: /usr/local/bin/swiftformat
Reason: image not found
/Users/user/Library/Developer/Xcode/DerivedData/EspressifProvision-eevucoxlgqzszafraqmunebwumky/Build/Intermediates.noindex/EspressifProvision.build/BLESec1-Debug-iphonesimulator/EspressifProvision.build/Script-1487EBE92123D8C4007F44A6.sh: line 2: 68717 Abort trap: 6 swiftformat .
Command PhaseScriptExecution failed with a nonzero exit code

I have swiftformat installed along with the other requirements. xcode 10.2 on macos 10.14.

Regarding the requirements: what are minimum libraries/Pods that we need in order to incorporate the BLE provisioning into our own app? (e.g. is swiftformat necessary?)

iOS App help for LyraTD_msc

Can you tell me exactly what the names should be for adding these into the plist file? I know my Amazon Product ID so I added a key called Product ID and set the value correctly. Is that the correct way to do this? What should the key name be exactly for them? I also added APIKey with the Amazon key I generated from their website for iOS.
"
For the Product ID, i just used Product ID
For the "API key from Login With Amazon (LWA)", I used APIKey

The monitor is showing this every time I try to provision. Any tips? I am getting a security version mismatch. I am so close to getting this to work.

I (382) conn_mgr_prov: Provisioning started with :
service name = ESP-Alexa-8464
service key =
I (23422) wifi: new:<1,0>, old:<1,0>, ap:<1,1>, sta:<255,255>, prof:1
I (23422) wifi: station: 90:e1:7b:a9:c5:b4 join, AID=1, bgn, 20
I (23852) tcpip_adapter: softAP assign IP to station,IP is: 192.168.4.2
E (41122) security1: Security version mismatch. Closing connection
E (41122) protocomm_httpd: Data handler failed
W (41122) httpd_uri: httpd_uri: uri handler execution failed
I (1192262) wifi: new:<1,0>, old:<1,0>, ap:<1,1>, sta:<255,255>, prof:1
I (1192262) wifi: station: 90:e1:7b:a9:c5:b4 join, AID=1, bgn, 20
I (1192752) tcpip_adapter: softAP assign IP to station,IP is: 192.168.4.2
I (1193142) wifi: ampdu: ignore deleting tx BA0
E (1208412) security1: Security version mismatch. Closing connection
E (1208412) protocomm_httpd: Data handler failed
W (1208412) httpd_uri: httpd_uri: uri handler execution failed

Current Appstore softAP failing to connect to device

I am trying to use the vanilla softAP examples in ESP-IDF 4.3 they build fine and a couple of weeks back it worked fine with the app store softAP application to provision the ESP32.

However, I am trying to do this again since upgrading to iOS 14.5 and now the app is getting stuck.

I connect to the AP hotspot from settings, then open the ESP softAP provisioning example,
Skip the QR code window and on the second screen when I press connect it takes me to the ESP SoftAP Prov settings, I have granted all permissions required. On occasion, i manage to get it to the spinning icon when I press connect but the app isn't asking for permission to connect to the network. I assume some of the privacy changes in 14.5 might have interfered in the operation?

I see from the output in monitor
I (955) app: If QR code is not visible, copy paste the below URL in a browser.
https://espressif.github.io/esp-jumpstart/qrcode.html?data={"ver":"v1","name":"PROV_0699E4","pop":"abcd1234","transport":"softap"}
I (23185) wifi:new:<1,0>, old:<1,1>, ap:<1,1>, sta:<0,0>, prof:1
I (23195) wifi:station: ca:58:06:1a:ad:f1 join, AID=1, bgn, 20
I (24455) esp_netif_lwip: DHCP server assigned IP to a station, IP is: 192.168.4.2
W (26245) wifi:idx:4 (ifx:1, ca:58:06:1a:ad:f1), tid:0, ssn:0, winSize:64

Everytime i jump back to the app and press connect it keeps taking me back to settings.

Adding custom data

Hi I would like to send custom data to the ESP32 besides wifi said and password, is there an example to show how I can do that?

Thank you

Framework to build a binding library for xamarin

Hi.

I'm working on a Xamarin project that makes use of this library as well as the Android one.

I successfully created the bindings for Android but I'm struggling to achieve the same for iOS.

Would it be possible to create a framework from this library so that I can make the binding library for xamarin ios?

Any help would be appreciated.

SoftAP example not working

I'd tried the SoftAP example from this repository and received an error saying "Error: Unable to verify device connection" on the app after connecting to the ESP32 in the WiFi settings app. I believe this is a problem with the iOS SoftAP provisioning example because I also tried provisioning with the Android SoftAP provisioning example, and it worked fine. How can I get it to work?

I am using an iPhone 8 running iOS 14.6. I'm also using XCode 12.5. Here are the log outputs I got when receiving the error on the app.

2021-07-01 14:25:59.485429-0700 ProvisionTest[715:239905] [connection] nw_endpoint_handler_set_adaptive_read_handler [C2 192.168.4.1:80 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4)] unregister notification for read_timeout failed
2021-07-01 14:25:59.485565-0700 ProvisionTest[715:239905] [connection] nw_endpoint_handler_set_adaptive_write_handler [C2 192.168.4.1:80 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4)] unregister notification for write_timeout failed
2021-07-01 14:25:59.514353-0700 ProvisionTest[715:239388] [] nehelper sent invalid result code [1] for Wi-Fi information request
2021-07-01 14:26:26.542252-0700 ProvisionTest[715:239388] [Storyboard] Unknown class _TtC13ProvisionTest8BarTitle in Interface Builder file.
2021-07-01 14:26:26.587114-0700 ProvisionTest[715:239388] [] nehelper sent invalid result code [1] for Wi-Fi information request
2021-07-01 14:27:17.309333-0700 ProvisionTest[715:239388] [Storyboard] Unknown class _TtC13ProvisionTest8BarTitle in Interface Builder file.
2021-07-01 14:27:17.346359-0700 ProvisionTest[715:240286] [connection] nw_endpoint_handler_set_adaptive_read_handler [C4 192.168.4.1:80 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for read_timeout failed
2021-07-01 14:27:17.346501-0700 ProvisionTest[715:240286] [connection] nw_endpoint_handler_set_adaptive_write_handler [C4 192.168.4.1:80 ready channel-flow (satisfied (Path is satisfied), viable, interface: en0, ipv4, dns)] unregister notification for write_timeout failed
2021-07-01 14:27:17.364012-0700 ProvisionTest[715:239388] [] nehelper sent invalid result code [1] for Wi-Fi information request

peripheralsNotFound

Hi, I'm building an App where I want to provision the esp32 for WIFi. I successfully build the App and chose "BLESec0" Debug as the scheme. When I run the app and scan for the peripheral, the table is not showing any peripherals. I kept breakpoints and it is always coming to the below function. What I'm doing wrong? I followed all the steps, but still no luck. I would also like to know how to provision using WiFi.
Swift - 5
XCode - 10.2.1
SwiftProtobuf - 1.5.0
Curve25519 - 1.1.0

func peripheralsNotFound(serviceUUID _: UUID?) {
        showBusy(isBusy: false)
    }

ESP device is disconnected after successful provision

ESP device is disconnected after successful provision (BLE)
In my case after the provisioning, I have to send some data to the ESP device using ESPDevice's method
public func sendData(path:String, data:Data, completionHandler: @escaping (Data?, ESPSessionError?) -> Swift.Void)

But right after provisioning the method of ESPBleTransport
func centralManager(_: CBCentralManager, didDisconnectPeripheral peripheral: CBPeripheral, error: Error?) {
ESPLog.log("Disconnected with peripheral")
delegate?.peripheralDisconnected(peripheral: peripheral, error: error)
}
is called and I cannot find the caller of this method anywhere in the library. Do you have any assumptions on why the connection is cut right after provision? Is it possible to change this behavior and leave the device connected for future manual disconnection by using ESPDevice device.disconnect()?

Thanks

Device disconnected but not reporting by bleConnectionStatusHandler

My device was manually disconnect after calling espDevice.connect, but bleConnectionStatusHandler did not trigger connectionStatus changing to disconnected.

As shown in line 601 and 602,
image

Shouldn't these two lines being place there? .... or I'm misunderstanding the usage?

Which release we should use?

Hi:
Our project use idf version is V3.2(id:286202caa),and use example in it, but app download from app store is not work, so we want to know which release we should use?

Cannot run sample project, "No such module 'ESPProvision'" Error in ConnectViewController

Description

I'm attempting to run your sample ios code so that I can test our ESP device, however I cannot get the code to build within XCode at all. Any time I build, even though ESPProvision was successfully installed via pod install I get the following error:

No such module 'ESPProvision'

The error appears in the file /ESPProvisionSample/Provision/ConnectViewController.swift

I see that the pod exists in /Pods/Pods/ESPProvision so it seems to have loaded successfully

However maybe it isn't building? I do not see it in /ESPProvisionSample/Frameworks

I attempted to build the library separately by going to Product -> Scheme -> New Scheme and selecting ESPProvision from the list, and it built successfully, however when I tried to build the sample project again, I once again got the same no such module error.

I am running the app using the generated .xcworkspace file so that is not the issue

I get no further error logging beyond saying that ESPProvision module could not be found.

I have also tried clearing derived data and re-installing the pods and that didn't help either

To Reproduce
Steps to reproduce the behavior:

  1. Download repo and CD into ESPProvisionSample folder
  2. Run pod install (Results in successful installation)
  3. Run build, build fails with the error "No such module 'ESPProvision'" even though the pod install was successful

...

Frequency
Consistently every time I try to build

Expected behavior
App builds successfully and pops up a simulated view of app in the simulator

Screenshots
If applicable, add screenshots to help explain your problem.

ESP Device Information:
Have not even gotten to this point yet

iOS information:

  • xcode 13.4.1, attempted building for multiple simulated device types

Additional context
I haven't edited the code at all just trying to run the code as-is from your repo right now

ESP SoftAP prov APP on appstore with version 2.0.11 can't provision aws/freertos softap esp32

I am using amazon freertos latest version(main) which has a softAP support which we can initiate start just by a macro.

Unfortunately, I am unable to provide my device using the ESP SOftAP Prov app on AppStore which shows version 2.0.11
However, android app store which shows version 2.0.8 is successfully able to provision the device.

Problem - the app says you to connect to the AP, but after i connect to the AP, there are no further steps or buttons which can start the further process. It keeps redirecting me to settings.

What can i do ?

Image - in this image i am connected to the AP but still it keeps showing me this page

IMG_3689

IMG_3690

Security check always fails when initializing session

When trying to initialize a session with my device, I'm receiving an ESPSessionStatus of failedToConnect with an internal parameter of securityMismatch. I've tracked that value to this if/else block in ESPDevice.swift when it is trying to initialize a session after correctly sending and receiving the proto-ver command (so I know it's connected to the board successfully).

https://github.com/espressif/esp-idf-provisioning-ios/blob/master/ESPProvision/ESPDevice.swift#L386
(including the lines here in case another commit changes this reference)

if let capability = self.capabilities, capability.contains(ESPConstants.noSecCapability) {
            if security != .unsecure {
                completionHandler(.failedToConnect(.securityMismatch))
                return
            } else if security != .secure {
                completionHandler(.failedToConnect(.securityMismatch))
                return
            }
}

From what I can understand, if the ESP responds with a capability of no_sec, no matter what security has been set in the device creation, either .unsecure or .secure, it's always going to fail. I'm assuming the no_sec capability comes from me initalizing my provisioning manager with a security value of WIFI_PROV_SECURITY_0 on the esp32, which seems to make sense. Therefore I don't understand the second half of this if/else statement. I feel like the check for else if security != .secure should be removed entirely.

Am I misunderstanding something, or is this a bug? If it's the latter, please let me know and I'll submit a pull request to remove it. Thanks

ESP IDF custom endpoints for BLE

In the sdk provided I am unable to find information on how to send data to custom endpoints added in esp idf from mobile app.

Please help.

I'm unable to get the list of nearby Wifi Connections

Description

The dependencies and requirements are all updated.
Iphone is showing a lost of wifi connections in its Wifi Settings but inside the app an empty array is being returned on scanWifi method.
The issue is inconsistent, meaning it does scan wifi list sometime but thats a very rare scenario.

Frequency
It works for like 2 3 time in initial testing and after that no scan result.

iOS 14 network privacy flow refinement suggestion

I saw that the library had been updated with iOS 13 and 14 keys for newer privacy prompts. I think there's one small detail that may have been overlooked for the softAP provisioning flow.

When the library begins connecting to the remote device over the network (i.e. making its http requests to 192.168.4.1), the standard iOS permission dialog is presented to the user: "[app name] would like to find and connect to devices on your local network". This is expected on iOS 14

However the library code isn't waiting for the user to grant permission, and those initial http requests are failing, like so:

NSLocalizedDescription=The Internet connection appears to be offline., NSErrorFailingURLStringKey=http://192.168.4.1/proto-ver, NSErrorFailingURLKey=http://192.168.4.1/proto-ver, _kCFStreamErrorDomainKey=1})

I'm able to resolve the issue by adding the following change to the SoftAP flow, which prompts URLSession to wait for the LAN connection to be configured (i.e after the user authorizes it). There may be other approaches...but this approach Apple suggested in their WWDC presentation on this topic: https://developer.apple.com/videos/play/wwdc2020/10110/

ESPSoftAPTransport.swift line 50: config.waitsForConnectivity = true
I could raise a PR but the change is pretty trivial so just thought I'd discuss it here for your consideration.

Inconsistent behaviour between BLE and SoftAP

When creating an ESPDevice using ESPProvisionManager.shared.createESPDevice when using softap as the transport protocol, an ESPDevice device instance is successfully created. However when using ble as the transport protocol it first tries to connect to the device and if that connection fails it will not return the ESPDevice instance. Is there a specific reason for trying to connect to the device in the case of ble?

To give some context; My use-case requires me to create an ESPDevice instance before the device is connected to any power source and therefore not available. Now if I were to only have to create an ESPDevice manually this wouldn't be too much of a problem. However my use-case requires me to create the ESPDevices using a QR code. The scanQRCode method eventually makes use of the createESPDevice method to create and return the ESPDevice instance, causing me to run into the same problem.

Cannot connect to the device

The version in the app store (2.0.5 bcf81a2) does not work.

  • After Provision Device / I don't have a QR code / manually connecting to the PROV_xxxxxx nothing happens, the Connect button is still visible
  • using QR I get a question to join the device, then "Device could not be connected"
  • if the network already is connected to the name in the QR, only the "Device could not be connected" is displayed (i.e. the app knows that it is already connected to the AP)

This is on iPhone 7 and iOS 14.3. The Android version works so the device part seems to be fine.

If there is some hidden way to fetch some logs I will happily provide them but I have no possibility to build an iOS app.

Thanks

compile error SwiftProtobuf

Hi,

xcode version 10.3
macos 10.15.2

I have Swiftprotobuf 1.7.0 installed via hombrew
I have updated podfile in the project

pod 'SwiftProtobuf', '~> 1.7.0'

I get Swift Compile Error on SwiftProtobuf

TextFormatDecoder.swift:33:9: Missing return in a function expected to return 'Bool'

Strange thing is that when I compile it first time it compile. When I compile in second time (without any change) above error occurs.

Can someone help me with this?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.