我们的应用程序使用 CoreNFC 来扫描 NFC 标签,如果不支持 NFC,您可以使用 QR。这工作得很好,我们能够在模拟器中运行该应用程序以进行 (ui) 测试。
直到 Xcode12 / iOS14 GM 构建。在 iOS13(或更低版本)中,我们在模拟器上运行它不会有任何问题。
但是在 iOS14 模拟器 iPhone11 上运行它的 Xcode12 中,我们会得到以下结果:
dyld: launch, loading dependent libraries
DYLD_SHARED_CACHE_DIR=/Users/xxx/Library/Developer/CoreSimulator/Caches/dyld/19G73/com.apple.CoreSimulator.SimRuntime.iOS-14-0.18A372
DYLD_ROOT_PATH=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot
DYLD_LIBRARY_PATH=/Users/xxx/Library/Developer/Xcode/DerivedData/xxx-awnlestrbvesqqbynrhmluzhbcsc/Build/Products/Debug-iphonesimulator:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/system/introspection
DYLD_INSERT_LIBRARIES=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libBacktraceRecording.dylib:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSi
dyld: Library not loaded: /usr/lib/libnfshared.dylib
Referenced from: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Library/Developer/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/System/Library/Frameworks/CoreNFC.framework/CoreNFC
Reason: no suitable image found. Did find:
/usr/lib/libnfshared.dylib: mach-o, but not built for platform iOS-sim
Run Code Online (Sandbox Code Playgroud)
模拟器崩溃对我来说很有意义,因为模拟器无法扫描 NFC 标签,但这就是我所做的:
#if canImport(CoreNFC)周围import CoreNFC …授权失败.有关如何正确设置地图的信息,请参阅https://developers.google.com/maps/documentation/android/start.
确保以下内容与API控制台中的内容相对应:软件包名称:com.company.app,API密钥:AIzaSyC***OsTeo,证书指纹:4E5285***6BF53ED3
无法与Google服务器联系.建立连接时将进行另一次尝试.
无法加载地图.联系Google服务器时出错 这可能是一个身份验证问题(但可能是由于网络错误).
我知道关于这个问题还有更多的问题.但我似乎无法让地图视图起作用.结果是一个空的地图视图(带有缩放按钮).
我做了什么:
- 下载/安装了google-play-services
- 已添加google-play-services.jar到libs/
- Google Maps API v2在code.google.com/apis/console中启用
- 设置正确的权限
这就是我的清单的样子:
<uses-feature
android:glEsVersion="0x00020000"
android:required="true" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="com.google.android.providers.gsf.permission.READ_GSERVICES" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<permission
android:name="com.company.app.permission.MAPS_RECEIVE"
android:protectionLevel="signature" />
<uses-permission android:name="com.company.app.permission.MAPS_RECEIVE" />
<application ...>
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyC***OsTeo" />
</application>
Run Code Online (Sandbox Code Playgroud)
Google API控制台api访问权限如下所示:
Key for Android apps (with certificates)
API key: AIzaSyC***OsTeo
Android apps: 4E:52:85:***6B:F5:3E:D3;com.company.app …Run Code Online (Sandbox Code Playgroud) 我们有一个应用程序在月视图中放置点日历事件.我们正在使用日历内容提供商来查看视图.
唯一的问题是我们每月查询内容提供商大约30次:11月1日至30日.因此,我们每天获得正确的实例数.这样,内容提供商本身就使用了重复规则和"多日"事件.例如:我们的活动将于11月4日至9日举行.每天查询内容提供商,我们将在11月4日,5日,6日,7日,8日和9日重播活动.这显然是正确的.但这对性能有非常不利的影响.另一方面,如果我只查询一次:1-30 nov,我只会回到同一个事件一次.所以我需要自己做一些计算来定义事件应该出现在哪个单元格中.
那么,我想知道是否有一个帮助器或实用程序为我执行此操作:1个查询:但是对于在该时间跨度内发生超过一次的事件的单独实例的5倍.
我正在使用官方和更新的Facebook iOS SDK.
我们正在iPad上开发一个应用程序,该应用程序使用内部分发配置文件在实体店中使用.客户可以在公开的iPad上登录他们的Facebook帐户,以改善他们的购物体验.
我遇到的问题是,当用户登录他们的Facebook帐户时,下一个用户(客户)仍将使用之前用户的凭据(You have already authorized xxx, Press "Okay" to continue)登录.当然这不行.
有没有办法实际注销(注销,清除凭据或什么)前一个(或当前)用户,以便下一个用户可以填写自己的用户名和密码.
不幸的是,[[FBSession activeSession] closeAndClearTokenInformation]并没有完全成功.
到目前为止,这是代码的一部分:
// ....
[[FBSession activeSession] closeAndClearTokenInformation];
[FBSession.activeSession openWithCompletionHandler:^(FBSession *session,
FBSessionState state,
NSError *error) {
// More code ...
}];
// ...
Run Code Online (Sandbox Code Playgroud)
PS.cookie'workaround'对我不起作用(显然)
我正在尝试将maven实现到现有的android项目中.我已经通过上下文菜单中选择这样做> Configure> Convert to Maven project.一切似乎都没问题,没有警告或错误.
但是当我尝试运行应用程序时(就像之前一样)我得到:
12-31 10:16:57.423: E/AndroidRuntime(14242): java.lang.RuntimeException:
Unable to instantiate activity ComponentInfo{xxx/xxx.MainActivity}:
java.lang.ClassNotFoundException: xxx.MainActivity
Run Code Online (Sandbox Code Playgroud)
我已经按照所有关于实现m2e的说明进行操作,看起来它应该工作.
如果我不将项目转换为maven项目,应用程序运行正常.
我失败的任何建议?
这就是我的pom.xml的样子:http://pastebin.com/ByXA0BP4
我在编写音频文件的元数据时遇到了困难:
AudioFileID fileID = nil;
AudioFileOpenURL((__bridge CFURLRef) url, kAudioFileReadWritePermission, 0, &fileID );
CFDictionaryRef piDict = nil;
UInt32 piDataSize = sizeof(piDict);
AudioFileGetProperty( fileID, kAudioFilePropertyInfoDictionary, &piDataSize, &piDict );
NSLog(@"%@", (__bridge NSDictionary *)piDict);
NSMutableDictionary *dict = (__bridge NSMutableDictionary*)piDict;
[dict setObject:@"NEW ALBUM NAME" forKey:@"album"];
piDict = (__bridge CFDictionaryRef)dict;
piDataSize = sizeof(dict);
OSStatus status = AudioFileSetProperty(fileID, kAudioFilePropertyInfoDictionary, piDataSize, &piDict);
Run Code Online (Sandbox Code Playgroud)
第6行的NSLog给了我一个包含ID3信息的好词典.但是当我想改变时(例如专辑名称,第9行)我得到一个OSStatus'pty?' 作为回报.
谁能指点我做错了什么的人.或者甚至可以更好/更简单/更快速地编辑音频文件的ID3标签/元数据.
我们正在构建的应用程序有一个简单的按钮,可以启动具有特定号码的临时会话.这里没有大事.
我用
[[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString: @"facetime://5555555555"]];
Run Code Online (Sandbox Code Playgroud)
检查设备是否能够进行临时呼叫.再次,这很好.
但是用户可以通过其设备的设置屏幕打开/关闭面部时间.当facetime关闭时,即使禁用facetime ,上述canOpenURL方法仍会返回YES.当我通过该openURL方法开始一个新的会话时,屏幕只会转到我的联系人列表而不启动facetime会话.
任何人都知道是否可以确定设备上是否启用了facetime.
我在为我的纺车增加动力方面遇到了困难.
我有这个轮子(类似这样的东西)并且我通过使用单个触摸事件在它的中心旋转它.
这里没有问题,但是当触摸(又名拖动)结束时; 我希望方向盘保持它的动量并缓解它的运动.
任何能给我一些指示的人,都不一定要在客观方面.AS3,javascript或JAVA也足够了.
*更新(旋转车轮的代码)*
-(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
rotation = _startAngle = atan2(384 - touchPoint.y, 512 - touchPoint.x);
};
-(void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {
CGPoint touchPoint = [[touches anyObject] locationInView:self.view];
rotation = atan2(384 - touchPoint.y, 512 - touchPoint.x);
rotation = fmod(rotation - _startAngle, M_PI * 2.0f);
[wheel setTransform:CGAffineTransformMakeRotation(_circleRotationOffset + rotation)];
};
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
_circleRotationOffset = fmod(_circleRotationOffset + rotation, M_PI * 2);
};
Run Code Online (Sandbox Code Playgroud) 我们正在开发一个(应用程序)在应用程序购买(IAP)中使用的应用程序.我已经完成了指南中的所有内容以启用iap,一切正常,直到我想购买.
一些代码:
MainViewController.m
-(void)viewDidLoad {
if ([SKPaymentQueue canMakePayments]) {
MyStoreObserver *observer = [[MyStoreObserver alloc] init];
[[SKPaymentQueue defaultQueue] addTransactionObserver:observer];
SKProductsRequest *request= [[SKProductsRequest alloc] initWithProductIdentifiers: [NSSet setWithObjects: @"com.company.app.product1", @"com.company.app.product1", nil]];
request.delegate = self;
[request start];
}
};
-(void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response {
for (SKProduct *prod in response.products) {
NSLog(@"%@ (%@)", prod.localizedTitle, prod.price);
}
[request release];
};
-(IBAction)clickBuy:(UIButton *)__sender {
SKPayment *payment = [SKPayment paymentWithProductIdentifier:@"com.company.app.product1"];
[[SKPaymentQueue defaultQueue] addPayment:payment];
};
Run Code Online (Sandbox Code Playgroud)
MyStoreObserver.m
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions {
for (SKPaymentTransaction *transaction in transactions) {
switch …Run Code Online (Sandbox Code Playgroud) 我知道 iOS 的应用程序购买产品数量上限为 10.000。有谁知道Google Play商店是否有类似的限制?
我们已经从 CocoaPods 迁移有一段时间了,但并不是每个依赖项都进行了转换。就像 Firebase 一样。
我对重复符号有类似的问题,但现在我面临着新的问题,这可能是因为我在 SwiftPM 和 CocoaPods 中都使用了依赖项。
运行我的(示例)项目后它崩溃了:
-[FBLPromise firebaseInstallationID]: unrecognized selector sent to instance 0x600003f5a430
Run Code Online (Sandbox Code Playgroud)
顶部有警告:
objc[93047]: Class FBLPromise is implemented in both
/xxx/SampleProject.app/Frameworks/FBLPromises.framework/FBLPromises (0x10b3f09a8) and
/xxx/SampleProject.app/SampleProject (0x10af736f0).
One of the two will be used. Which one is undefined.
Run Code Online (Sandbox Code Playgroud)
在更新到 Firebase SDK v6.26.0 之前,我只会收到第一个警告,但更新后它崩溃了。
我看到了一篇关于如何在库中使用 Firebase 的文档,以及一个关于类似崩溃的GitHub 问题。但除了降级之外,似乎没有什么可以解决这个崩溃问题。
我上传了一个示例项目:https://github.com/basvankuijck/SampleProjectFirebaseCrash。
删除 SwiftPM Promises 依赖项不是一个选项,因为实际项目正在使用对 Promises 具有依赖项的 SwiftPM 依赖项。
Podfile并没有那么花哨,SampleProject 仅使用一个SwiftPM 依赖项。
谁知道如何让 SwiftPM 和 CocoaPods …