我能夠在 XCode 13.2.1 和 iOS 15.2 中運行我的舊 iOS 代碼(在 iOS 12 XCode 10.1 中正常作業)。在我的代碼中,有一個用 React Native 開發的模塊。我添加的 React Native 模塊作為 UiView 代碼的子視圖,如下所示,
if(reactView){
[reactView removeFromSuperview];
reactView = nil;
}
NSURL *jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"prodmain" withExtension:@"jsbundle"];
NSDictionary *props = @{@"DashboardType" : @"PIAdmin"};
reactView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation moduleName:@"PIAdminApp" initialProperties:props launchOptions:nil];
reactView.frame = CGRectMake(piDashboardView.frame.origin.x, 0, piDashboardView.frame.size.width, piDashboardView.frame.size.height);
reactView.backgroundColor = [UIColor whiteColor];
[piDashboardView addSubview:reactView];
上面的代碼在 XCode 10.1 直到 iOS 12 版本中都能正常作業,但是當我在 iOS 15 和 XCode 13.2.1 上運行它時,我從下面的截圖中得到了例外,

我被困在編譯舊代碼中,但我更改了 XCode 中的一些構建設定,使其正常作業,鏈接如下, 想要在編譯時洗掉重復符號錯誤 xcode ios
我懷疑上述更改屬性。如果撤消更改,那么我將面臨相同的編譯時錯誤。所以現在我完全糊涂了。
uj5u.com熱心網友回復:
我從 github react-native 社區得到了答案,參考鏈接在這里
我的更新代碼如下,
static BOOL RCTParseUnused(const char **input)
{
return RCTReadString(input, "__attribute__((unused))") ||
RCTReadString(input, "__attribute__((__unused__))") ||
RCTReadString(input, "__unused") ||
RCTReadString(input, "__attribute__((unused))");
}
我將舊代碼與建議代碼保持在 OR 條件下。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/426067.html
上一篇:我們是否在ObjectiveC中為dispatch_queue_t使用XCTAssertEqual或XCTAssertEqualObject?
下一篇:iOS共享擴展-缺少位置元資料
